gpt4 book ai didi

vb.net。如何将数据集绑定(bind)到 DataRepeater?

转载 作者:行者123 更新时间:2023-12-01 12:00:31 25 4
gpt4 key购买 nike

我正在寻找如何将数据集/数据表绑定(bind)到数据转发器并将数据元素绑定(bind)到数据集/数据表的列的 vb.net 示例?谢谢

最佳答案

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

我需要您提供更多信息以提供最有用的示例代码(见下文)。

使用 DataRepeater 的基本步骤是:
1) 安装 Visual Basic Power Packs 3 Link
2) 打开一个 VB.net Winforms 项目并拖一个 DataRepeater 到你的窗体
3) 通过 Add->New Item 菜单
向你的项目添加一个新的数据集4) 在设计窗口中,根据需要设置列
5) 从 Data->ShowDataSources 菜单打开 Data Sources 窗口
6) 在表单处于设计模式时,转到“数据源”窗口中的“数据集”,然后使用表名旁边的下拉框选择“详细信息”
7) 将表格拖到 DataRepeater 控件的顶部(在您的窗体上)。表格字段现在应该列在您的 DataRepeater 上。你可以移动它们。
8) 在运行时,你可以加载Datset,DataRepeater会自动反射(reflect)数据的变化。不需要.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

既然你已经看到了代码,我希望你不要使用它:)
我建议您要么在设计时设置数据集结构,要么使用不同的控件来显示数据。

这是一个链接,其中包含有关使用 DataRepeater 的典型方法的大量信息: Link

最终编辑

用户的上一个错误是区分大小写的问题。以下代码行中的字符串“Text”必须大写以匹配控件的属性名称。我建议为“测试”创建一个 const 以避免这个错字。

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

关于vb.net。如何将数据集绑定(bind)到 DataRepeater?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2226886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com