Windows Form中的DataGrid控件支持用鼠标和Ctrl选取多个行,但是如何取得选取的多个行的索引呢?
我在MSDN里小转了一圈没发现有直接可用的属性或函数,后来又试了试for(idx<count;idx++)
   if( dataGrid1.IsSelect(i)
       ArrayList.Add(i);DoSth(ArrayList) { }发现还是不行,只能返回一个索引,就是那个RowHeader上带有三角标记的那行,其他的都不能返回,这是何故,有什么解决的办法没有?

解决方案 »

  1.   

    顶,我也很想知道。发个这个Datagrid用有WebForm中不错,在WinForm中好像不太习惯啊。
      

  2.   

    再顶,WebForm里有很多代码可以实现在dataGrid的column中加入checkbox来实现多行选取的,参考
      

  3.   

    ArrayList list=new ArrayList();
                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    if (dataGridView1.Rows[i].Selected)
                        list.Add(i.ToString());
                }
                IEnumerator enumerator = list.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    MessageBox.Show(enumerator.Current.ToString());
                }