DropDownList 下拉菜单中
例如: 1
1
2
3
这样的下拉菜单,怎么写如果重复的内容就显示一个呢?项中内容是自动获取的。
就是一个存储过程查询的结果在俩个地方用,一个是容许重复的数据报表,一个是不容许重复的下拉菜单。
求大虾们告诉我一下,在程序中怎么去掉下拉菜单中显示重复的值?
例如: 1
1
2
3
这样的下拉菜单,怎么写如果重复的内容就显示一个呢?项中内容是自动获取的。
就是一个存储过程查询的结果在俩个地方用,一个是容许重复的数据报表,一个是不容许重复的下拉菜单。
求大虾们告诉我一下,在程序中怎么去掉下拉菜单中显示重复的值?
再写一个存储过程。select distinct ....
把处理后的DataTable绑定的DropDownListSystem.Data.DataTable table = new System.Data.DataTable();
table.Columns.Add("Id");DataRow row = table.NewRow();
row["Id"] = 1;
table.Rows.Add(row);DataRow row1 = table.NewRow();
row1["Id"] = 1;
table.Rows.Add(row1);DataView dataView = table.DefaultView;System.Data.DataTable temp = dataView.ToTable(true, "Id");
造成DropDownList 下拉列表数据项重复,目前我发现有两种可能:
1)数据库表中数据本身重复:这个比较简单用 SQL 语句中的 DISTINCT 来消除。
2)由于使用了DropDownList 中的 AppendDataBoundItems=true的属性所造成的。
我是用在 DataBiding 事件里 进行 Clear 操作再重新添加所需数据项的方法来解决的。
代码:
AppendDataBoundItems 还是设为 true protected void VillageDDL_DataBinding(object sender, EventArgs e)
{
//VillageDDL.AppendDataBoundItems = false;
VillageDDL.Items.Clear(); ListItem lt = new ListItem("--请选择--", "NotFilled", true);
VillageDDL.Items.Add(lt);
}