我继承了DataGridViewTextBoxCell,因为我需要为它添加一些自定义属性。
在创建DataGridView实例并绑定数据后的运行时,我执行以下操作:
For k As Integer = 0 To grid.Columns.Count - 1
grid.Columns(k).AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader
If k > 0 Then grid.Columns(k).CellTemplate = New CustomCell()
Next
尝试添加到与第一个CustomCell不同的每一列。
问题在于,当我附加到网格的CellPainting事件并执行
时If e.ColumnIndex < 0 OrElse e.RowIndex <= 0 Then Return
Dim grid As DataGridView = TryCast(sender, DataGridView)
If grid Is Nothing Then Return
If grid.Columns.Count < e.ColumnIndex OrElse grid.Rows.Count < e.RowIndex Then Return
Dim cell As CustomCell = TryCast(grid(e.ColumnIndex, e.RowIndex), CustomCell)
If cell Is Nothing Then Return
单元格类型永远不会是 CustomCell 类型,但它仍然是 DataGridViewTextBoxCell 。
您是否知道如何解决此问题?
我正在使用VS2008和Framework 3.5