我想初始化一个检查器,检查datagridview中某个列的单元格,如果单元格等于StaffMixname
那么按钮文本应该是VIEW
如果没有那么按钮文本是LOCKED
到目前为止,这是我的代码。
Dim dgButtonColumn As New DataGridViewButtonColumn
Dim i As Integer
MetroGrid7.Columns.Add(dgButtonColumn)
dgButtonColumn.HeaderText = "Security"
dgButtonColumn.UseColumnTextForButtonValue = True
For i = 0 To MetroGrid7.Rows.Count
If MetroGrid7.Rows(i).Cells.Item(4).Value.ToString() = StaffMixname.Text Then
dgButtonColumn.Text = "VIEW"
dgButtonColumn.Name = "viewBtn"
dgButtonColumn.ToolTipText = "View"
Else
dgButtonColumn.Text = "LOCKED"
dgButtonColumn.Name = "searchSecurityBtn"
dgButtonColumn.ToolTipText = "LOCKED"
End If
Next
它不像这样工作。在DataGridViewButtonColumn
中,每个单元格都包含button
但您无法访问它。你可以得到DataGridViewButtonCell
并更改这两个属性value and ToolTipText
。 name
没有DataGridViewButtonCell
房产。所以要改变它们:
Dim dgButtonColumn As New DataGridViewButtonColumn
Dim i As Integer
MetroGrid7.Columns.Add(dgButtonColumn)
dgButtonColumn.HeaderText = "Security"
'remove this line
'dgButtonColumn.UseColumnTextForButtonValue = True
For i = 0 To MetroGrid7.Rows.Count
If MetroGrid7.Rows(i).Cells.Item(4).Value.ToString() = StaffMixname.Text Then
MetroGrid7.Rows(i).Cells.Item(6).Value = "VIEW"
MetroGrid7.Rows(i).Cells.Item(6).ToolTipText = "View"
Else
MetroGrid7.Rows(i).Cells.Item(6).Value = "LOCKED"
MetroGrid7.Rows(i).Cells.Item(6).ToolTipText = "LOCKED"
End If
Next
Dim status As String
status = status & Me.dgTitleList.CurrentRow.Cells("BDO").Value
status = status & Chr(13)
插入Value
Datagridview
的Column
到String
并做到这个条件。
If status = StaffMixname.Text Then
dgButtonColumn.Text = "VIEW"
dgButtonColumn.Name = "viewBtn"
dgButtonColumn.ToolTipText = "View"
Else
dgButtonColumn.Text = "LOCKED"
dgButtonColumn.Name = "searchSecurityBtn"
dgButtonColumn.ToolTipText = "LOCKED"
End If
我建议使用BreakPoint并检查StaffMixName.Text
是否有Value
。