C#从datagridview中检索单元格值

时间:2014-09-03 15:06:01

标签: c# winforms

如何检索用户刚刚输入到datagridview的单元格中的信息?我需要获取用户输入的信息,处理它,然后用它来搜索数据库中的记录。

string aux = dataGridView1[3,dataGridView1.CurrentCell.RowIndex].Value.ToString();
aux = aux.Substring(0, 7);
dataGridView1[2, dataGridView1.CurrentCell.RowIndex].Value = mb.pesquisar("select filcod from filme where filtag = " + aux);

此代码位于用户退出datagridview中的单元格时触发的事件处理程序中。为什么我没有检索到正确的单元格值?如何获取用户输入的实际值?

1 个答案:

答案 0 :(得分:0)

您可以在DataGridView.CellValueChanged Event中处理此问题。查看该链接的文档,您将看到此方法传递了一个事件对象e。

对象e是DataGridViewCellEventArgs对象。第二个链接上的文档显示DataGridViewCellEventArgs具有RowIndex和ColumnIndex属性。这就是你如何找出哪个单元格触发事件,以及从何处获取单元格值。

您想使用e.RowIndex,因为这是来自触发CellValueChanged事件的单元格。它被解雇正是因为焦点发生了变化。这就是为什么“当前”行与e.RowIndex不同。

另见here示例。