vb.net。如何绑定数据集的DataRepeater?
-
19-09-2019 - |
题
我寻找的如何绑定数据集/数据表到数据中继器和具有结合到数据集的列/数据表中的数据元素一个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()