【问题标题】:Asp.net Drop Down List has too many items than the database listAsp.net 下拉列表的项目比数据库列表多
【发布时间】:2012-06-26 20:42:09
【问题描述】:

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

我有一个将数据粘贴到数据库表的表单和一个快速概览数据网格,如果我在该数据网格上编辑一行,它会重新填充该数据网格。
我创建了一个单独的优先级数据库表/列表来测试表单上的下拉列表,值 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();
}

一定是某处的一些设置?

【问题讨论】:

  • 我们也可以查看您的标记吗?

标签: c# asp.net


【解决方案1】:

我猜您有一些表格条目,其中 null 作为 Priority (或 PriorityName ?)列值的值。可能你应该解决这个问题。您始终可以向您的选择查询添加 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 的列。如果您的列名不同,您可以在代码中进行相应更改。

【讨论】:

    猜你喜欢
    • 2018-07-04
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    相关资源
    最近更新 更多