我在Windows窗体上有一个组合框,我试图填充一个客户列表。我有一个包含三个值的元组列表(var clients = new List<Tuple<int, string, string>>();
)我从SQL调用中获取数据,返回clientID
,clientName
和path
。
我遇到的问题是,我的组合框显示(1, companyName, c:\Path)
这是我列表的第一个值,但我真正想要显示的是companyName
(元组中的Item2)和不是其他数据。
如果我的clients
变量只是一个元组而不是元组列表,我可以这样做:
comboBoxClients.DisplayMember = clients.Item2;
comboBoxClients.ValueMember = clients.Item1
以下是我尝试使用的代码无效:
var clients = new List<Tuple<int, string, string>>();
clients = GetClients();
comboBoxClient.DataSource = clients;
comboBoxClient.DisplayMember = clients[0].Item2;
有没有办法可以将DisplayMember
设置为列表中元组的第二项?我还应该使用其他东西而不是元组吗?对此有任何帮助表示赞赏。
答案 0 :(得分:6)
尝试设置comboBoxClient.DisplayMember = "Item2";
DisplayMember
应该是一个字符串,声明要显示的属性的名称。见这里:http://msdn.microsoft.com/de-de/library/system.windows.forms.listcontrol.displaymember%28v=vs.110%29.aspx
ValueMember
的处理方式相同。