如何将数据源设置为下拉列表

时间:2009-06-09 05:54:00

标签: c# gridview drop-down-menu datasource

我想将数据源添加到下拉列表中。此下拉列表是gridview的列之一。在这里,我想动态地将数据源添加到下拉列表,而不使用sqldatasource。

(vs2008和c#)

3 个答案:

答案 0 :(得分:1)

您可以为网格中的下拉列表控件实现OnDataBinding事件。如果您可以将DataSource属性和其他属性分配给您喜欢的任何内容。将它绑定到List<YourObject>偶数。

在OnDataBinding事件上执行此操作还允许您动态自定义ddl中的值。因此,如果您需要这种类型的功能,每行的ddl可以根据行中的其他一些数据提供不同的选项集。

如果使用OnDataBinding方法而不是自动(简易模式)连线,则使用ASP.NET控件可以获得很多灵活性。

答案 1 :(得分:1)

是的,因为它在itemtemplate中,所以你不会直接得到它,你必须使用findcontrol

答案 2 :(得分:0)

以下是您要查找的代码

示例1:

public enum Color
{
    RED,
    GREEN,
    BLUE
}

每个枚举类型都派生自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

也不要忘记总是将答案标记为答案