无法为组合框显示格式化的元组列表

时间:2018-07-26 15:58:21

标签: c# .net winforms tuples

你好,我有一个组合框,需要在元组值列表中放一个,但是我只想要每个的第一项。

        List<Tuple<string, decimal, string>> SourceData= new List<Tuple<string, decimal, string>>()

        ComboBox.DataSource = new BindingSource(sourceData,null);
        for (int i = 0; i < SourceData.Count; i++)
        {
            ComboBox.DisplayMember = SourceData[i].Item1.ToString();

        }

无论如何,这将返回完整值

{string,decimal,string}
{string,decimal,string}

*除外,为真实数据。

我怎样才能使它成为第一个字符串?

编辑

我当前的解决方案是:

for (int i = 0; i < SourceData.Count; i++)
{
    ComboBox.DisplayMember = SourceData.ToDataTable().Columns[0].ToString();
}

1 个答案:

答案 0 :(得分:1)

尝试以下代码:

List<Tuple<string, decimal, string>> sourceData = new List<Tuple<string, decimal, string>>
{
    new Tuple<string, decimal, string>("str11", 1, "str12"),
    new Tuple<string, decimal, string>("str21", 2, "str22"),
};

comboBox1.DataSource = new BindingSource(sourceData, null);
comboBox1.DisplayMember = "Item1";

DisplayMember是一个字符串,指示DataSource由对象组成的情况下用于显示的字段的名称。