找回密码
 立即注册

QQ登录

只需一步,快速开始

gzgood

中级会员

21

主题

73

帖子

681

积分

中级会员

积分
681

活字格认证

gzgood
中级会员   /  发表于:2013-5-27 10:15  /   查看:5685  /  回复:8
//在此之前grid有10行,lastindex是6,selectedindex是-1.
m_fgrid.Select(lastindex, 0,true);
m_fgrid.SelectedIndex = lastindex;

//代码运行结束后selectedindex还是-1.求解决办法。谢谢。

8 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-5-27 16:29:00
沙发
回复 1楼gzgood的帖子

好奇怪啊,我测试下面的代码Select之后 SelectedIndex 为 6 啊:
  1. public partial class MainPage : UserControl
  2.     {
  3.         public MainPage()
  4.         {
  5.             InitializeComponent();

  6.             List<Item> list = new List<Item>();

  7.             list.Add(new Item() { ID = 1, Code = "A10001", Name = "产品A1", Description = "产品A1" });
  8.             list.Add(new Item() { ID = 2, Code = "A10002", Name = "产品A2", Description = "产品A2" });
  9.             list.Add(new Item() { ID = 3, Code = "A10003", Name = "产品A3", Description = "产品A3" });
  10.             list.Add(new Item() { ID = 4, Code = "A10004", Name = "产品A4", Description = "产品A4" });
  11.             list.Add(new Item() { ID = 5, Code = "A10005", Name = "产品A5", Description = "产品A5" });
  12.             list.Add(new Item() { ID = 6, Code = "A10006", Name = "产品A6", Description = "产品A6" });
  13.             list.Add(new Item() { ID = 7, Code = "A10007", Name = "产品A7", Description = "产品A7" });
  14.             list.Add(new Item() { ID = 8, Code = "A10008", Name = "产品A8", Description = "产品A8" });
  15.             list.Add(new Item() { ID = 9, Code = "A10009", Name = "产品A9", Description = "产品A9" });
  16.             list.Add(new Item() { ID = 10, Code = "A10010", Name = "产品A10", Description = "产品A10" });

  17.             c1FlexGrid1.ItemsSource = list;
  18.             c1FlexGrid1.AutoGenerateColumns = true;
  19.         }

  20.         private void button1_Click(object sender, RoutedEventArgs e)
  21.         {
  22.             c1FlexGrid1.Select(6, 0, true);
  23.             MessageBox.Show(c1FlexGrid1.SelectedIndex.ToString());
  24.         }

  25.     }

  26.     public class Item
  27.     {
  28.         public int ID
  29.         { get; set; }

  30.         public string Code
  31.         { get; set; }

  32.         public string Name
  33.         { get; set; }

  34.         public string Description
  35.         { get; set; }
  36.     }
复制代码


如有问题,能否发送一个可以再现你问题的Demo给我调试。
回复 使用道具 举报
gzgood
中级会员   /  发表于:2013-5-28 10:46:00
板凳
c1FlexGrid1采用 grid.rows.add(row).的方式。只要设置selectedindex,就会无法选中。且selectedindex一直为-1.
除非用itemsource绑定,不手动加行。

  1. public partial class MainPage : C1.Silverlight.C1Window
  2.     {
  3.         public MainPage()
  4.         {
  5.             InitializeComponent();
  6.             Row row1 = new Row();
  7.             Row row2 = new Row();
  8.             Row row3 = new Row();
  9.             fg.Rows.Add(row1);
  10.             fg.Rows.Add(row2);
  11.             fg.Rows.Add(row3);
  12.         }

  13.         private void Button_Click(object sender, RoutedEventArgs e)
  14.         {
  15.             fg.Select(1, 0);
  16.             fg.SelectedIndex = 0;
  17.         }
复制代码
回复 使用道具 举报
gzgood
中级会员   /  发表于:2013-5-28 10:47:00
地板
回复 2楼dof的帖子

不加fg.SelectedIndex = 0;就对了
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-5-29 16:57:00
5#
回复 使用道具 举报
gzgood
中级会员   /  发表于:2013-5-29 17:14:00
6#
回复 5楼dof的帖子

我想知道为什么?   

selectedindex只能在绑定数据时才能设置么?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-5-29 18:04:00
7#
selectedindex 是当前行对应数据源中的索引值,如果没有设置数据源该值就为 -1.
回复 使用道具 举报
gzgood
中级会员   /  发表于:2013-5-29 19:06:00
8#
ok  谢谢~

:share:
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-5-30 15:55:00
9#
不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部