winform多个选择网格行并获取所选行的行索引

时间:2014-09-25 12:16:54

标签: c# winforms datagridview

我的winform中有一个数据绑定网格视图。我想知道如何获取当前所选行的索引,即多行。 我能用一行做到这一点。但有没有办法我可以有一个复选框或其他东西,我可以索引多行。 下面的图片将帮助您更好地理解我的要求。

enter image description here

2 个答案:

答案 0 :(得分:1)

首先将CellContentClick事件设置为DataGridView

dataGridView.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.onCellContentClick);

对于每个单元格单击它将调用以下方法。在这里,您可以创建一个列表,并使用单击的行索引填充它。

public void onCellContentClick(DataGridViewCellEventArgs cell)
{
   // Check whether selected cell is check box column, here 0 indicates the check box column.
   if (cell.ColumnIndex == 0)   
   {
      bool isChecked = (Boolean) dataGridView[cell.ColumnIndex, cell.RowIndex].EditedFormattedValue;

      if(isChecked) 
      {
        // Below will give you the selected cell row index, for multiple rows you can populate those index in list or whatever you convenient with.
        cell.RowIndex;
      }
    }
}

答案 1 :(得分:0)

使用DataGridView.SelectedRows属性获取所有选定的行。

选择多行:

DataGridView.MultiSelect = true;