使用元组列表中元组的值为组合框分配DisplayMember - C#

Joh*_*sen 2 c# combobox tuples

我在Windows窗体上有一个组合框,我试图填充客户列表.我有元组的三个值(列表var clients = new List<Tuple<int, string, string>>();)我是从SQL调用获取数据返回clientID,clientNamepath.

我遇到的问题是,我的组合框显示的(1, companyName, c:\Path)是我列表中的第一个值,但我真正想要显示的是companyName(元组中的Item2)而不是其他数据.

如果我的clients变量只是一个元组而不是元组列表,我可以这样做:

comboBoxClients.DisplayMember = clients.Item2;
comboBoxClients.ValueMember = clients.Item1
Run Code Online (Sandbox Code Playgroud)

这是我试图使用的代码不起作用:

var clients = new List<Tuple<int, string, string>>();
clients = GetClients();
comboBoxClient.DataSource = clients;
comboBoxClient.DisplayMember = clients[0].Item2;
Run Code Online (Sandbox Code Playgroud)

有没有办法可以DisplayMember在列表中设置我元组的第二项?我还应该使用其他东西而不是元组吗?对此有任何帮助表示赞赏.

Fra*_*tyx 7

尝试设置 comboBoxClient.DisplayMember = "Item2";

DisplayMember应该是一个字符串,声明要显示的属性的名称.请参阅此处:http://msdn.microsoft.com/de-de/library/system.windows.forms.listcontrol.displaymember%28v=vs.110%29.aspx

处理ValueMember是一样的.