【发布时间】:2013-11-11 18:17:58
【问题描述】:
我有一个DataGridView,用户在其中选择一个行,然后按下一个按钮,该按钮根据所选行进行操作。
目前,我正在尝试使用以下方法获取所选行的 ID (第一列):
int id = (int) DataGrid_Contact.SelectedRow[0].Cells[0].Value;
我尝试过其他方法,例如dgv.CurrentRow、dgv.SelectedCells 等。所有内容总是指向第一行或第一个单元格(0, 0)。无论我的选择如何,我都无法改变这一点。
DataGridView 的显着属性是:
MultiSelect = false;
ReadOnly = true;
SelectMode = FullRowSelect;
其他所有内容要么与选择无关和/或设置为它们的默认值。
如果有问题,我将使用 SQL 命令填充 DataGridView,并设置 DataGridView 的 DataSource。我试过this.BindingContext[DataGridView dgv.DataSource].EndCurrentEdit() 无济于事。
最后,我使用的是 Microsoft Visual C# 2008 Express Edition 和 Microsoft SQL Server 2008。
【问题讨论】:
-
请显示完整代码。
-
我用它来获取被选中的行 private void DataViewBox1_CellClick(object sender, DataGridViewCellEventArgs e) { int ri = e.RowIndex;
-
您使用什么事件来获取 selectedRow 值?
-
又一个奇怪的问题。您应该确保您所说的一切都是真的,尤其是关于您如何知道所选行始终是第一行。
-
可能想要验证您实际上为每个文本/值项对存储了不同的值。
标签: c# sql winforms datagridview selection