カスタム プロパティを追加する必要があるため、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で作業しています