Datagridview不可见列 - 访问数据

时间:2017-12-07 16:44:05

标签: vb.net datagridview cell

设置了绑定到绑定源的datagridview后,我必须使用cellformatting为单元格绘制各种颜色。

由于您无法在cellformatting事件上通过bindingsource访问字段或记录,因此我可以访问数据的唯一方法是通过诸如主ID之类的列。 (这仅适用于cellformatting,我通过bindignsource.current对象访问ID没有问题。)

因此,一旦我完成设计和测试我的datagridview,然后我将此示例的各个列(ID)切换为visible = false以使列不可见。

我现在无法通过cellformatting访问列数据。我已阅读google列出的一些页面,因为datagridview不会呈现列,除了几个替代方案之外,这些值是无法获得的,例如: 。标签 和datakeynames

由于某种原因,我无法在datagridview下找到winforms的datakeynames。 就我所知,.tag似乎没有做任何事情。

由于尝试从单元格格式中使用它,我无法使用

Select Case .Columns(e.ColumnIndex).DataPropertyName.ToLower

If Datagridview1.columns(e.columnindex).datapropertyname.tolower='id' Then

因为列是不可见的......

羞耻我无法通过cellformatting访问bindingsource,但必须有办法,必须有其他人遇到过这个问题。

1 个答案:

答案 0 :(得分:0)

使用DataBoundItem

Dim drw As DataRow = DirectCast(DataGridView1.Rows(i).DataBoundItem, DataRowView).Row

(假设你已经绑定了DataTable