请问C#的DataGrid实现多选功能,并且能够获取所有选中记录的某个字段值,在线等待..

解决方案 »

  1.   

    添加一个CheckBox列,在每次处理的时候遍历全部行,看该列是不是被选中
      

  2.   

    可以采用遍历的话,DataGrid有一个方法:IsSelect,可以判断一行是否被选中。
      

  3.   

    可以这样做:
    private List<object> GetSelectedValue()

               List<object> Results;
                foreach (DataGridViewRow dgvr in dataGridView1.SelectedRows)
                {
                    Results.Add(dgvr.Cells[0].Value); //按索引取,也可以用列名取值
                    //Results.Add(dgvr.Cells["列名"].Value);
                }
               Return Results;
    }
      

  4.   

    刚刚犯了个错误,Results没有实例化,第一句应该是:
    List<object> Results = new List<object>();
      

  5.   

    可以了,我用IsSelected循环遍历就可以了。
    for(int  i=0;i<Dadaset1.table[0].rowcount() - 1)
    {
      if  DataGrid1.isselected(i) 
       ......
    }