设置了绑定到绑定源的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,但必须有办法,必须有其他人遇到过这个问题。
答案 0 :(得分:0)
使用DataBoundItem
:
Dim drw As DataRow = DirectCast(DataGridView1.Rows(i).DataBoundItem, DataRowView).Row
(假设你已经绑定了DataTable
)