簡體   English   中英

如何將數據源設置為下拉列表

[英]how to set datasource to dropdownlist

我想將數據源添加到下拉列表中。 此下拉列表是gridview的列之一。 在這里,我想不使用sqldatasource將數據源動態添加到下拉列表。

(VS2008和C#)

您可以為網格中的dropdownlist控件實現OnDataBinding事件。 在這種情況下,您可以將DataSource屬性和其他屬性分配給您喜歡的任何內容。 甚至將其綁定到List<YourObject>

通過在OnDataBinding事件上執行此操作,還可以即時定制ddl中的值。 因此,如果需要這種功能,則基於行中的其他數據,每一行的ddl可能會有不同的選項集。

如果使用OnDataBinding方法而不是自動(簡單模式)接線,則ASP.NET會具有一定的靈活性。

是的,因為它在itemtemplate中,所以您不會直接得到它,因為您必須使用findcontrol

這是您要尋找的代碼

范例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

也不要忘記總是將您的答案標記為答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM