Asp.net下拉列表包含的项目数量太多而不是数据库列表

时间:2012-06-26 20:42:09

标签: c# asp.net

我是新手,除了创建一个小的Asp.net c#项目。

我有一个将数据填充到数据库表的表单和一个快速概述数据网格,它重新填充from我应该在该数据网格上编辑一行。
我创建了一个单独的优先级数据库表/列表来测试表单上的下拉列表,值L,VL,M,H,VH只有这些没有添加删除。我能够将列表拉到下拉框中,并且可以看到所有5个值,但是列表很大并且包含另外45个空项。


如果我改变了ddl_priority.DataTextField =“ID”; 从上到下的列表显示1到45然后1,2,3,4,5后来是我的值,我试图用“SQL Where”限制值,但它没有工作
下拉列表的代码是:

public void Populate_priority_dropdownlist()
{
    ad = new SqlDataAdapter("select * FROM x_priority_list_tbl", con);
    //ad = new SqlDataAdapter("select [Priority] FROM [x_priority_list_tbl] where [ID] < 7 ", con);
    ad.Fill(ds, "s");
    dt = ds.Tables["s"];
    ddl_priority.DataSource = dt;

    ddl_priority.DataValueField = "Priority";
    ddl_priority.DataTextField = "Priority";
    ddl_priority.DataBind();
}

必须在某处设置?

1 个答案:

答案 0 :(得分:1)

我猜你有一些null的表条目作为Priority(或PriorityName?)列值的值。可能你应该解决这个问题。您始终可以在select查询中添加where条件,以便仅显示具有有效PriorityName值的记录。

ad = new SqlDataAdapter("select * FROM x_priority_list_tbl
              WHERE PriorityName is not null and PriorityName<>''", con);

同时将ID设置为DataValueField属性值,并将PriorityName设置为文本字段。

ddl_priority.DataValueField = "ID";
ddl_priority.DataTextField = "PriorityName";

假设您的表格中包含名称为IDPriorityName的列。如果您的列名不同,您可以在代码中相应地更改它。