C# C获取DataGridView的值
我在2个DataGrid视图中遇到问题。两者都是一样的。唯一不同的是,第二个有一个过滤器来分类关闭的案例 因此有: faelleDataGridView faelleDataGridView2 我只想选择所选行的列ID的值。之后,它将打开一个新表单,如果我为新过滤器设置变量,我只想看到与ID匹配的条目 这将在我双击单元格后开始 这是我的源代码:C# C获取DataGridView的值,c#,winforms,datagridview,C#,Winforms,Datagridview,我在2个DataGrid视图中遇到问题。两者都是一样的。唯一不同的是,第二个有一个过滤器来分类关闭的案例 因此有: faelleDataGridView faelleDataGridView2 我只想选择所选行的列ID的值。之后,它将打开一个新表单,如果我为新过滤器设置变量,我只想看到与ID匹配的条目 这将在我双击单元格后开始 这是我的源代码: private void faelleDataGridView_CellDoubleClick(object sender, DataG
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中也有相同的情况
你知道我如何解决这个问题,或者我做错了什么吗
先谢谢你
通过在属性中使用正确的名称修复了此问题
当您搜索索引fFallDetail.fFilter=row.Cells[ID]时,Greez Rok。Value.ToString;这是列的名称,请检查每列是否为适当的名称。一个是标题,另一个是名称。搜索索引fFallDetail.fFilter=row.Cells[ID]时,可以从GridView设计器中的属性中进行检查。。Value.ToString;这是列的名称,请检查每列是否为适当的名称。一个是标题,另一个是名称。您可以从GridView设计器中的属性中进行检查。是否可以使列在第二个网格中可见=true并测试一次,如果这是导致问题的原因?同时将问题标记为Winform、wpf或asp。无论哪一个合适,谢谢你的回答。如果我设置visible=true,问题仍然存在。奇怪的是,只有第一个datagridview在工作。如果我复制了它们,它们就不工作了。对不起,我只是想确定一下……一个简短的评论,你不需要有不同的方法,你可以对两个网格使用相同的方法。您只需要使用var gridview=sender作为DataGrid,然后继续使用它。您试图访问的列的索引号是多少?它可能使用索引号而不是键。嘿,谢谢,所以我必须为事件处理程序输入相同的方法?我理解对了吗?因此,该方法的工作原理如下:private void AnyDataGridView_CellDoubleClickobject sender,DataGridViewCellEventArgs e{//code here}如果导致问题,是否可以在第二个网格中使列visible=true并测试一次?同时将问题标记为Winform、wpf或asp。无论哪一个合适,谢谢你的回答。如果我设置visible=true,问题仍然存在。奇怪的是,只有第一个datagridview在工作。如果我复制了它们,它们就不工作了。对不起,我只是想确定一下……一个简短的评论,你不需要有不同的方法,你可以对两个网格使用相同的方法。您只需要使用var gridview=sender作为DataGrid,然后继续使用它。您试图访问的列的索引号是多少?它可能使用索引号而不是键。嘿,谢谢,所以我必须为事件处理程序输入相同的方法?我理解对了吗?因此,该方法的工作原理如下:private void AnyDataGridView\u CellDoubleClickobject发送者,DataGridViewCellEventArgs e{//code here}嘿,谢谢:但是Headername和DataPropertyName完全相同:/啊,我明白了你的意思,我想这是我的错:这就是问题所在。非常感谢:我很高兴我帮了忙。问候语!嘿,谢谢:但是Headername和DataPropertyName完全一样:/啊,我明白你的意思了,我想那是我的错:这就是问题所在。非常感谢:我很高兴我帮了忙。问候语!