净:我怎么能与它的数据源作为的DisplayMember的multitple场组合框?它的、组合、数据源、能与

2023-09-06 06:15:33 作者:身后从不缺狗

我怎么能有它的数据源,它的显示部件的多个字段的组合框无需增加额外的列到其数据源?

我的意思是我想有一个与类似的DisplayMemberID+ A组合框 - 姓名。 1 - 黑色 2 - 白色 3 - 红色

我不想额外列添加到它的数据源。

感谢您

解决方案

绑定到多个属性,不支持(在的WinForms)。你要扩展你的数据表与计算列并绑定到这个新列。

  dataTable.Columns.Add(IdAndName的typeof(串),ID +姓名);

comboBox.DataSource = dataTable的;
comboBox.DisplayMember =IdAndName;
 

请参见 MSDN 有关有效EX pressions为计算列引用。也许你必须使用转换

  dataTable.Columns.Add(IdAndName的typeof(串),转换(ID,'System.String'的)+姓名);
 
C winform combobox填充数据问题

How can I have a combobox with multiple fields of its data source as its display member without adding additional columns to its data source?

I mean I wanna to have a combobox with displaymember like "ID" + "-" "Name" . 1 - Black 2 - White 3 - Red

I DO NOT want to add additional column to its data source.

Thank you

解决方案

Binding to multiple properties is not supported (in WinForms). You have to extend your DataTable with a computed column and bind to this new column.

dataTable.Columns.Add("IdAndName", typeof(String), "ID + Name");

comboBox.DataSource = dataTable;
comboBox.DisplayMember = "IdAndName";

See the MSDN for reference on valid expressions for computed columns. Maybe you have to use Convert.

dataTable.Columns.Add("IdAndName", typeof(String), "Convert(ID, 'System.String') + Name");