为了账号安全,请及时绑定邮箱和手机立即绑定

将 DataTable 与 ListBox 绑定

将 DataTable 与 ListBox 绑定

Go
泛舟湖上清波郎朗 2022-07-10 16:21:10
我正在试验和学习 windows 窗体应用程序,但我无法弄清楚绑定结构。根据 MSDN 文档:-您可以为数据源指定以下任何类的实例:数据集数据表数据视图数据视图管理器绑定源所以,我有一个简单的代码来理解这个结构。我已经用列表框 listBox1 和 DataTable data_table 初始化了一个简单的 windows 窗体。 static DataTable data_table = new DataTable("ParentTable");  DataColumn column;                DataRow row;                column = new DataColumn();                column.DataType = System.Type.GetType("System.Int32");                column.ColumnName = "id";                column.ReadOnly = false;                column.Unique = true;                // Add the Column to the DataColumnCollection.                data_table.Columns.Add(column);                for (int i = 0; i <= 2; i++)                {                    row = data_table.NewRow();                    row["id"] = i;                    data_table.Rows.Add(row);                }可以直接绑定到DataSource by。listBox1.DataSource=new BindingSource(data_table , null);listBox1.ValueMemeber="id";但是当我使用以下 Binding myBinding = new Binding("DataSource", data_table, "id"); form_m.listBox1.DataBindings.Add(myBinding);我得到异常System.ArgumentException:复杂 DataBinding 接受 IList 或 IListSource 作为数据源如果有人可以帮助我,我将不胜感激。
查看完整描述

2 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

您正在使用带有三个参数的构造函数重载Binding(String, Object, String)
其中参数是
propertyName
- 要绑定的控件属性的名称。
-DataSource在你的情况下

dataSource
- 表示数据源的对象。
- 这是一个主数据源,注意它不是一个绑定到的数据源List.Box.DataSource

dataMember
- 要绑定到的属性或列表。
- 这是主数据源中属性的名称,该值将绑定到控件的DataSource. 此值应该是 IList 或 IListSource

您可以设置ListBox.DataSource而无需任何额外的绑定

listBox.DataSource = myDataTable;

检查链接:Windows 窗体数据绑定
应该有足够的信息来说明如何使用数据绑定,如果您通过示例,您将很好地了解如何根据您的要求使用数据绑定。


查看完整回答
反对 回复 2022-07-10
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

您不需要任何额外的绑定。您可以将List、Array、Tables分配给DataSource并提供DisplayMember和ValueMember,同时使用对象或表的 List 作为DataSource如果您使用单维数组,则不需要提供DisplayMember和ValueMember。


listbox1.DataSource = data_table; 

listbox1.ValueMember = "id"; 

listbox1.DisplayMember = "id";


查看完整回答
反对 回复 2022-07-10
  • 2 回答
  • 0 关注
  • 341 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号