tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルDataGridViewでRowsプロパティに項目を追加したい
記事No6405
投稿日: 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
************************************ソース終わり************************************

[ツリー表示へ]
タイトルRe: DataGridViewでRowsプロパティに項目を追加したい
記事No6422
投稿日: 2007/10/12(Fri) 09:24
投稿者う〜
回答がつかないようなので一旦終わります。

[ツリー表示へ]