[英]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.