Я унаследовал 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