DropDownList 下拉菜单中
例如:     1
          1
          2
          3
这样的下拉菜单,怎么写如果重复的内容就显示一个呢?项中内容是自动获取的。
就是一个存储过程查询的结果在俩个地方用,一个是容许重复的数据报表,一个是不容许重复的下拉菜单。
求大虾们告诉我一下,在程序中怎么去掉下拉菜单中显示重复的值?

解决方案 »

  1.   

    应该在存储过程上做工作
    再写一个存储过程。select distinct ....
      

  2.   

    同意楼上的啊,在得到绑定数据前就distinct下就可以了啊
      

  3.   

    把从存储过程得到的DataTable做个处理以下是个简单的例子,使用DataView 来过滤重复的数据
    把处理后的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");
      

  4.   

    这个问题好像以前问过,其实,你们都没有理解楼主的意思。
    造成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);
            }