【发布时间】:2016-02-15 18:33:41
【问题描述】:
我遇到了 2 个 DataGrid 视图的问题。两者都是一样的。唯一不同的是,第二个有一个过滤器来整理关闭的案例。
所以有: faelleDataGridView faelleDataGridView2
我只想选择所选行的“ID”列的值。之后,如果我为新过滤器设置了变量,它将打开一个新表单(我只想查看适合 ID 的条目)。
这将在我双击单元格后开始。
这是我的源代码:
private void faelleDataGridView_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{ // This one is working with no errors
if (e.RowIndex >= 0)
{
FallDetail fFallDetail = new FallDetail();
DataGridViewRow row = faelleDataGridView.Rows[e.RowIndex];
//MessageBox.Show(row.Cells["ID"].Value.ToString());
fFallDetail.fFilter = row.Cells["ID"].Value.ToString();
fFallDetail.Show();
}
}
private void faelleDataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{ // This one will result an error
if (e.RowIndex >= 0)
{
FallDetail fFallDetail = new FallDetail();
DataGridViewRow row = faelleDataGridView1.Rows[e.RowIndex];
//MessageBox.Show(row.Cells["ID"].Value.ToString());
fFallDetail.fFilter = row.Cells["ID"].Value.ToString();
fFallDetail.Show();
}
}
在我开始第二个之后,我得到了一个错误。它说,他找不到名为“ID”的单元格。
错误(翻译自德语):System.Windows.Forms.dll 发生“System.ArgumentException”类型的异常错误。
附加信息:找不到列 ID。
我已检查 ID 列仅可见=false。但是第一个 datagridview 也是一样的。
你知道我该如何解决这个问题或我做错了什么吗?
提前谢谢你。
通过在属性中使用正确的名称修复了问题
Greez Rok
【问题讨论】:
-
能否在第二个网格中使该列可见=true 并测试一次,如果这是导致问题的原因?还将问题标记为 Winform 或 wpf 或 asp。以适用为准
-
您好,谢谢您的回答。如果我设置可见 = true,问题仍然存在。奇怪的是,只有第一个 datagridview 工作。如果我制作副本,它们将无法正常工作。
-
对不起,我只是确保...一个简短的评论,你不需要不同的方法,你可以对两个网格使用相同的方法。您只需要使用
var gridview = sender as DataGrid,然后继续使用它。 -
您要访问的列的索引号是多少?它可能适用于索引号而不是键。
-
嘿,谢谢,所以我必须在事件处理程序中输入相同的方法?我理解正确吗?所以只有方法是这样工作的: private void AnyDataGridView_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { //code here }
标签: c# winforms datagridview