как установить источник данных в выпадающий список - PullRequest
0 голосов
/ 09 июня 2009

Я хочу добавить источник данных в выпадающий список. Этот выпадающий список является одним из столбцов сетки. Здесь я хочу динамически добавить источник данных в раскрывающийся список без использования sqldatasource.

(vs2008 и c #)

Ответы [ 3 ]

1 голос
/ 09 июня 2009

да, как в элементе шаблона, так что вы не получите его напрямую, для этого вам нужно использовать findcontrol

1 голос
/ 09 июня 2009

Вы можете реализовать событие OnDataBinding для элемента управления dropdownlist в вашей сетке. В этом случае вы можете присвоить свойству DataSource и другим атрибутам все что угодно. Свяжите это с List<YourObject> четным.

Выполнение этого в событии OnDataBinding также позволяет настраивать значения в ddl на лету. Таким образом, ddl каждой строки может иметь различный набор доступных опций на основе некоторых других данных в вашей строке, если вам нужен такой тип функциональности.

Тонны гибкости с элементами управления ASP.NET, если вместо автоматического подключения используется простой метод OnDataBinding.

0 голосов
/ 31 января 2012

Вот коды, которые вы ищете

Пример 1:

public enum Color
{
    RED,
    GREEN,
    BLUE
}

Каждый тип Enum является производным от System.Enum. Есть два статических метода, которые помогают привязать данные к элементу управления раскрывающегося списка (и получить значение). Это Enum.GetNames и Enum.Parse. Используя GetNames, вы можете привязать свой элемент управления выпадающего списка следующим образом:

protected System.Web.UI.WebControls.DropDownList ddColor;

private void Page_Load(object sender, System.EventArgs e)
{
     if(!IsPostBack)
     {
        ddColor.DataSource = Enum.GetNames(typeof(Color));
        ddColor.DataBind();
     }
}

Пример 2:

List<Person> myPList = new List<Person>();



Person p1 = new Person();

p1.ID = 1;

p1.Name = "Bob";

p1.Color = "Blue";



Person p2 = new Person();

p2.ID = 2;

p2.Name = "Joe";

p2.Color = "Green";



myPList.Add(p1);

myPList.Add(p2);



this.DropDownList1.DataSource = myPList;

this.DropDownList1.DataTextField = "Color";

this.DropDownList1.DataValueField = "ID";

this.DropDownList1.DataBind();  

для более полной практики посмотрите здесь: https://stackoverflow.com/a/9076237/132239

также не забывайте всегда отмечать ваши ответы как ответ

...