List<MyClass> as datasource for DropDownList?

只愿长相守 提交于 2019-12-21 04:56:26

问题


I have a simple Class with ID and Name on it which I would like to link to a DropDownList but it seems that myDropDownList.DataTextField = "Name"; and myDropDownList.DataValueField = "ID"; are not accessible or available.

UPDATE: I am using winforms

public class Test
{
    public int ID { get; set; }
    public string Name { get; set; }
}

List<Test> myList = new List<Test>()
{
    // bla bla bla some entries bla bla bla you got the point.
};
myDropDownList.DataSource = myList;

I know I could override ToString but that would not help me with the value of each entry on the list.

Are there any other options to print the Name on the dropdownlist while having another property as the value (ie: printing Name while having the selected value or item as the ID) ?


回答1:


For web based ASP.net

You need to specify the drop down lists datatextfield and datavaluefield properties.

MyDropDownList.DataSource = myList;
MyDropDownList.DataTextField="Name";
MyDropDownList.DataValueField="ID"; 
MyDropDownList.DataBind();

For win form

You need to specify the displaymember / valuemember properties.

Just noticed this is a winform application try this:

MyDropDownList.DataSource = myList;
MyDropDownList.DisplayMember = "Name";
MyDropDownList.ValueMember = "ID";


来源:https://stackoverflow.com/questions/6296611/listmyclass-as-datasource-for-dropdownlist

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!