タイトル : DataGridViewでRowsプロパティに項目を追加したい 投稿日 : 2007/10/04(Thu) 17:33 投稿者 : う〜
VB2005です。 カスタムグリッドを作成しています。 DataGridViewの行ごとにフラグを持たせたいと考えています。 隠し列を持つのではなくプロパティのような形で追加できないかと考えています。 ここでいうフラグとはセルに対して入力に変更があったかどうかを保持しておくために使用します。 (5行目のセルに対して値が変更されれば1を立てるとか) Rowsプロパティをオーバーロードして、フラグを追加したDataGridViewRowを作成しましたが、 「型 'System.Windows.Forms.DataGridViewRow' のオブジェクトを型 'WindowsApplication1.DataGridViewRow2' にキャストできません。」 とエラーが出てしまいます。 実行時エラーです。コンパイルは通ります。 そもそも考え方が間違っているのでしょうか? よろしくお願いします。 Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.DataGridViewEx1.RowCount = 10 For intloop As Integer = 0 To Me.DataGridViewEx1.RowCount - 1 Me.DataGridViewEx1.Item(0, intloop).Value = Me.DataGridViewEx1.Rows(intloop).Status Next End Sub End Class *************************以下カスタムコントロールの再現ソースです。************************* Public Class DataGridViewEx Inherits DataGridView Public Overloads ReadOnly Property Rows(ByVal rowIndex As Integer) As DataGridViewRow2 Get Return CType(MyBase.Rows(rowIndex), DataGridViewRow2) '←ここでエラー発生 End Get End Property End Class Public Class DataGridViewRow2 Inherits System.Windows.Forms.DataGridViewRow Sub New() Me._Status = "0" End Sub Private _Status As String Public Property Status() As String Get Return _Status End Get Set(ByVal value As String) _Status = value End Set End Property End Class ************************************ソース終わり************************************ |