我寻找的如何绑定数据集/数据表到数据中继器和具有结合到数据集的列/数据表中的数据元素一个vb.net例子? 感谢

有帮助吗?

解决方案

起初我还以为你想要一个网络中继器,但是从你的意见,我意识到你的意思Microsoft.VisualBasic.PowerPacks.DataRepeater。

我需要你一些更多的信息给最有帮助的示例代码(见下文)。

<强>使用的DataRepeater的基本步骤是:结果 1)安装Visual Basic电源包3 链接结果 2)打开VB.net WinForms项目和的DataRepeater拖动到你的表 - 3)添加一个新的数据集通过添加 - 项目>新建项目菜单点击 4)在设计窗口中,设置列作为期望结果 5)打开,从数据 - > ShowDataSources菜单结果,数据源窗口 6)由于在设计模式的形式,进入数据集的数据源窗口,使用下拉框旁边的表名,选择“详细信息”点击 7)拖动表格DataRepeater控件的顶部部分(表单上)。表中的字段现在应该在你的DataRepeater上市。您可以移动它们。点击 8)在运行时,你可以加载Datset和的DataRepeater将自动反映数据的变化。没有.Databind需要点击   离。

me.DataSet1.Tables(0).Columns.Add(New String() {"John", "Doe", "Accountant"}  

myDataAdapter.Fill(me.DataSet1.Tables(0)) 

你得到任何的那些步骤绊倒了?


修改

这是我所看到的,它看起来像的DataRepeater意味着在情况下使用了您添加/映射到数据表在设计时DataRepeater中。然后,所有你需要做的就是填补在运行时的数据表和DataReader的自动显示数据。

如果你真的想表/控件添加到在运行时的DataRepeater,这里是我编码一个例子。它假定一个名为Form3与命名DataRepeater1的DataRepeater和一个名为Button1按钮形式...

Public Class Form3

    ''Set up demo DataSet/DataTable
    Const FRUIT_COL As String = "Fruit"
    Const COLOR_COL As String = "Color"
    MyDataSet = New DataSet
    MyDataSet.Tables.Add("MyTable")
    With MyDataSet.Tables(0)
        .Columns.Add(FRUIT_COL, GetType(System.String))
        .Columns.Add(COLOR_COL, GetType(System.String))
    End With

    ''Populate the DataTable with sample data. You would be loading from SQL
    With MyDataSet.Tables(0)
        .Rows.Add(New String() {"Apple", "Red"})
        .Rows.Add(New String() {"Orange", "Orange"})
        .Rows.Add(New String() {"Banana", "Yellow"})
    End With

    ''These objects would normally be created automatically if you added DataTable to DataRepeater at design-time
    FruitLabel = New Label
    FruitTextBox = New TextBox
    ColorLabel = New Label
    ColorTextBox = New TextBox
    With FruitLabel
        .AutoSize = True
        .Location = New Point(10, 20)
        .Name = "FruitLabel"
        .Text = FRUIT_COL
    End With
    With ColorLabel
        .AutoSize = True
        .Location = New Point(10, 60)
        .Name = "FruitLabel"
        .Text = FRUIT_COL
    End With
    With FruitTextBox
        .Location = New Point(50, 20)
        .Size = New Size(60, 15)
        .DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.MyDataSet.Tables(0), FRUIT_COL, True))
    End With
    With ColorTextBox
        .Size = New Size(60, 15)
        .Location = New Point(50, 60)
        .DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.MyDataSet.Tables(0), COLOR_COL, True))
    End With

    ''Add the controls that will be displayed for each row in DataTable
    With DataRepeater1
        .ItemTemplate.Controls.Add(FruitLabel)
        .ItemTemplate.Controls.Add(FruitTextBox)
        .ItemTemplate.Controls.Add(ColorLabel)
        .ItemTemplate.Controls.Add(ColorTextBox)
    End With

    ''Run-time population of DataRepeater from your DataTable
    DataRepeater1.DataSource = MyDataSet
    DataRepeater1.DataMember = MyDataSet.Tables(0).TableName

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    'Example of how you can add additional rows with form elements
    With MyDataSet.Tables(0)
        .Rows.Add(New String() {"Grapes", "Green"})
    End With
End Sub
End Class

现在,你已经看到的代码,我希望你不使用它:)点击 我建议你要么设置你的DataSet结构在设计时,或使用不同的控制,以显示您的数据。

下面是一个有很多有关使用的DataRepeater的典型方式信息的链接: 链接

<强>最后修改

在用户的最后缺陷已得到的情况下,灵敏度的问题。在下面的代码行字符串“文本”必须大写,以匹配该控件的属性名称。我建议为“测试”一个const避免这种错字。

[ControlName].DataBindings.Add(New System.Windows.Forms.Binding("Text", [DataTable], [Column Name], True))

其他提示

Dim data As DataSet
DataRepeater1.DataSource = data
DataRepeater1.DataBind()
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top