将通用列表绑定到下拉列表

时间:2009-12-29 15:26:43

标签: c# generics data-binding

我有

public class ListA
{

   private string code;
   private string name;

   public string Code { get { return code; } set { code = value; } }
   public string Name { get { return name; } set { name = value; } }

}

List<ListA> lst = new List<ListA>();

    public List<ListA> getList()
    {
        lst.Add(new ListA { Code = "ABC", Name = "Smith" });
        lst.Add(new ListA { Code = "XYZ", Name = "Abbey" });

        return lst;
    }

在下拉列表中我想要ABC:Smith填充。

ddlList.DataTextField = "Name"; 

仅填充名称。

我想填充名称和代码。 我怎么做。请帮忙。

2 个答案:

答案 0 :(得分:3)

似乎DataTextField只能用于显示单个属性。您可以在ListA上创建一个新属性,如下所示:

public string Display { get { return Code + ":" + Name; } }

或完全删除DataTextField并使用

public override string ToString() { return Code + ":" + Name; }

或创建一个继承自ListA的新类,并执行上面提到的其中一项以便正确显示。

答案 1 :(得分:1)

将NameAndCode字符串属性添加到ListA类,该类返回Code +“:”+ Name。然后将其设为DataTextField值。