0

我继承了 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

4

1 回答 1

0

我相信你想添加一个自定义列。这是一篇我认为可能会有所帮助的文章 - Code Magazine

于 2009-12-17T17:55:19.397 回答