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 に答える