如何在DataGridView中使用未绑定的字段?

时间:2012-01-18 08:45:22

标签: c# .net winforms datagridview

我正在使用DataGridView有两个TextBoxColumn和一个DataGridViewButtonColumn

作为 datasource ,我将DataTable绑定为三列:“ID”“Name”“姓氏“,但我只需要显示最后两列,所以在我的数据网格中,我只定义NameSurname(以及按钮列)设置AutoGenerateColumns属性等于false

现在,当点击一行上的按钮时,我需要使用“ID”字段...

从当前行获取“ID”值的正确方法是什么?

3 个答案:

答案 0 :(得分:1)

如果要显示其他列,我会留下ID列,并通过将Columns["ID"].Visible设置为false来隐藏它。然后,您只需访问列中的数据,但不会在屏幕上显示。

答案 1 :(得分:0)

gridview.Rows[gridview.CurrentRow.Index].Cells["id"].Value 

您将获得当前行的“id”值

答案 2 :(得分:0)

隐藏某些内容.Visible不起作用。尝试使用DataViewBindingSource

link

filters效果非常好。 像这样:

 BindingSource tSource = new BindingSource();
 DataView view = new DataView(_table);
 tSource.DataSource = view;

我在这里找到一行:

 DataRow row = CurrentRow(_dataGridView);

以下是实施:

 public static DataRow CurrentRow(DataGridView aGrid)
    {
        CurrencyManager xCM =
          (CurrencyManager)aGrid.BindingContext[aGrid.DataSource, aGrid.DataMember];
        DataRowView xDRV = (DataRowView)xCM.Current;
        return xDRV.Row;
    }

这样的事情应该有效。

希望这对你有帮助!