0

フォームにテーブルを追加したいのですが、テーブルには 2 つの列と 3 つの行が含まれています。3 つの行は名前、年齢、場所です。このようにテーブルを追加したい

ここに画像の説明を入力

たとえば、上の画像では、名前は列1のテーブル行項目の1つであり、列2の最初の行には名前の値が含まれています。

どうすればできますか?

4

2 に答える 2

1

キーと値のペアを格納するある種のコンテナ クラス (つまり、ある種のコレクション) を作成し、DataGrid実行時にそれらを にバインドします。


簡単な例:

Class Container
    Inherits BindingList(Of Value)

    Class Value
        Public Property Key As String
        Public Property Value As Object
    End Class

    Public Sub New()
        Add(New Value With {.Key = "Name"})
        Add(New Value With {.Key = "Age"})
        Add(New Value With {.Key = "Place"})
    End Sub

    Default Public Overloads Property Item(ByVal key As String) As Object
        Get
            Return Me.FirstOrDefault(Function(v) v.Key = key)
        End Get
        Set(ByVal value As Object)
            Dim v = Me.FirstOrDefault(Function(e) e.Key = key)
            If v Is Nothing Then
                Add(New Value With {.Key = key, .Value = value})
            Else
                v.Value = value
            End If
        End Set
    End Property

End Class

あなたのForm

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    Dim grd = New DataGrid With {.Dock = DockStyle.Fill}
    Controls.Add(grd)
    Dim container = New Container()

    grd.DataSource = container

    container("Age") = 12
    container("Place") = "Somewhere"
End Sub

ここに画像の説明を入力


次に、もちろん DataGrid の外観を調整する必要があります。それはあなた次第です。

このように、グリッドはオブジェクトにバインドされ、container値を簡単に読み取ったり変更したりできます。

于 2012-08-22T07:10:15.717 に答える