c# DataGridView 从选定行获取单元格值

Posted

技术标签:

【中文标题】c# DataGridView 从选定行获取单元格值【英文标题】:c# DataGridView get Cells Value from Selected Row 【发布时间】:2015-12-05 18:10:30 【问题描述】:

如何使这个foreach 循环的语法正确。我想从选定的行中获取每个单元格值。 我已经将选择模式设置为FullRowSelect

private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)

      foreach (//datagrid cell in current_selected_row) <--- proper Syntax condition
      
           if(cell != null)
           
                MessageBox.Show(cell.Value.ToString());
           
      

【问题讨论】:

【参考方案1】:

您可以通过这种方式找到当前行:

var row = this.dataGridView1.CurrentRow;

然后拥有当前行,您可以通过以下方式之一找到单元格值

row.Cells.Cast<DataGridViewCell>()
   .ToList()
   .ForEach(cell =>
   
       MessageBox.Show(string.Format("0", cell.Value));
   );

相当于:

foreach (DataGridViewCell cell in row.Cells)

    MessageBox.Show(string.Format("0", cell.Value));

或者这样

for (int i = 0; i < row.Cells.Count; i++)

    MessageBox.Show(string.Format("0", row.Cells[i].Value));

【讨论】:

哇,谢谢。我使用foreach,但是''cell =>''这行是什么意思。 但是当我尝试将其过滤为 if cell.value.ToString() != null 时。它抛出 System.NullReferenceException。附加信息:对象引用未设置为对象的实例。

以上是关于c# DataGridView 从选定行获取单元格值的主要内容,如果未能解决你的问题,请参考以下文章

从 DataGridView 选定的单元格中获取文本

关于C#中 对于datagridview 单击任意一个单元格,获取那一行数据的语句

获取 DataGridView 中选定行的单元格内容

C#实例:datagridview单元格合并

选定单元格的 Datagridview 平均值

在c#中编辑datagridview后如何更新我的数据库