DropDownList在从数据库中得到数据源绑定后,计划为其添加一个"全部"或"不限"之类的项,添加方法现知的有两种:

1:在脚本中直接添加:<asp:ListItem Value="0">全部</asp:ListItem>,然后在DropDownList中添加一个属性:  AppendDataBoundItems="True" ,如下面的代码所示:

<asp:DropDownList  ID="ddlDepartment" runat="server" AutoPostBack="true"

onselectedindexchanged="ddlDepartment_SelectedIndexChanged" DataTextField="DeptName"

AppendDataBoundItems="True"  DataValueField="DeptID">

<asp:ListItem Value="0">全部</asp:ListItem>

</asp:DropDownList>

2:在后台代码中通过CS文件添加:

ddlDepartment.Items.Insert(0, new ListItem("--所有--", "0"));

******************************************

添加以后,在使用的时候,可以这样写:

If(ddlDepartment.SelectedValue!="0")

{

deptId=ddlDepartment.SelectedValue;

}

--SQL语句的写法:WHERE  @deptId IS NULL OR @deptId="" OR deptID=@deptId

3、我的实践

SQLHelper sqlh = new SQLHelper();
  protected void Page_Load(object sender, EventArgs e)
  {
   //大棚下拉列表数据填充绑定
   if (!IsPostBack)
   {
    string dpsql = "SELECT * FROM [GHInfo]";
    DataTable dpdt = new DataTable();
    dpdt = sqlh.GetDataTable(dpsql);
    dapeng.DataSource = dpdt;
    dapeng.DataValueField = dpdt.Columns[0].ToString();
    dapeng.DataTextField = dpdt.Columns[2].ToString();
    dapeng.DataBind();
    ListItem li = new ListItem("---查看全部---","00");
    dapeng.Items.Insert(0, li );
    string sql = "SELECT   t1.ID, t2.UserName, t1.Address, t3.Name, t1.Tem, t1.Hum, t1.Co2 FROM GHInfo AS t1 LEFT OUTER JOIN  UserInfo AS t2 ON t1.OwnerID = t2.ID LEFT OUTER JOIN Plants AS t3 ON t1.PlantID = t3.ID ";
    DataTable dt = sqlh.GetDataTable(sql);
    DataList1.DataSource = dt;
    DataList1.DataBind();

   }
  }
  protected void dapeng_SelectedIndexChanged(object sender, EventArgs e)
  {
   string id = dapeng.SelectedValue.ToString();
   string sql;
   Label1.Text = id;
   if (id != "00")
   {
    sql = "SELECT   t1.ID, t2.UserName, t1.Address, t3.Name, t1.Tem, t1.Hum, t1.Co2 FROM GHInfo AS t1 LEFT OUTER JOIN  UserInfo AS t2 ON t1.OwnerID = t2.ID LEFT OUTER JOIN Plants AS t3 ON t1.PlantID = t3.ID WHERE(t1.ID = '" + id + "')";
   }
   else
   {
    sql = "SELECT   t1.ID, t2.UserName, t1.Address, t3.Name, t1.Tem, t1.Hum, t1.Co2 FROM GHInfo AS t1 LEFT OUTER JOIN  UserInfo AS t2 ON t1.OwnerID = t2.ID LEFT OUTER JOIN Plants AS t3 ON t1.PlantID = t3.ID";
   }
   DataTable dt = sqlh.GetDataTable(sql);
   
   DataList1.DataSource = dt;
   DataList1.DataBind();
  }

.NET dropdownlist控件绑定数据后,添加“全部”项,实现功能的更多相关文章

  1. ComboBox控件绑定数据源后,添加'请选择'或'全部'

    ComboBox控件绑定数据源后,添加'请选择'或'全部' 当使用ComboBox控件绑定数据源之后,通过Items 属性添加的数据是无效的,此时如果要在所有选项前添加 选项 ,则需要考虑从数据源下手 ...

  2. .net mvc------下拉列表DropDownList控件------绑定数据

    下拉列表 以性别为例 绑定可以了,可以显示了,但有些地方就能传值,有些地方就会出错提示,如有大神请指教.... 错误如下: 具有键"sex"的 ViewData 项属于类型&quo ...

  3. C# DataGridView控件绑定数据后清空数据

    //1.this.dataGridView1.DataSource = null;//会将DataGridView的列也删掉 //2.this.dataGridView1.Columns.Clear( ...

  4. GIRDVIEW 控件绑定数据后 后台c#控制隐藏某列

    gv_EnterpriseInfo.DataSource = pageResult.Data; gv_EnterpriseInfo.DataBind(); 之后加判断条件: if (true) { g ...

  5. c#中DropDownList控件绑定枚举数据

    c# asp.net 中DropDownList控件绑定枚举数据 1.枚举(enum)代码: private enum heros { 德玛 = , 皇子 = , 大头 = , 剑圣 = , } 如果 ...

  6. [置顶] DataGridView控件---绑定数据方法

             DataGridView控件是在windows应用程中显示数据最好的方式,它只需要几行简短的代码就可以把数据显示给用户,同时又支持增.删.改操作.今天将自己总结的增加数据的方法总结分 ...

  7. Winform控件绑定数据

    目录 简介 绑定基类 功能扩展 简单控件绑定 列表控件绑定 绑定BindingList集合 绑定DataTable表格 绑定BindingSource源 表格控件绑定 绑定DataTable 绑定Bi ...

  8. 在aspx页动态加载ascx页面内容,给GridView控件绑定数据

    在aspx页动态加载ascx页面内容 //加载ascx页面内容Control c1 = this.Page.LoadControl("WebUserControl1.ascx"); ...

  9. DataGridVIew控件绑定数据之后的,增、插、删操作

    最开始没有绑定数据,很快就实现了增.插.删操作,可是绑定数据之后,进行这些操作就会报错. 网上对这方面的资料比较少,自己摸索着找到了解决方法,也就是直接对绑定的数据进行操作,这里以DataTable为 ...

  10. DropdownList控件绑定数据源显示system.data.datarowview的问题

    .net开发的时候经常需要用到在后台取数据再绑定到控件的问题,通常只需要连接数据库,从数据库取出数据,放到Dataset里面,然后再设置控件的DataSource为这个Dataset,然后再datab ...

随机推荐

  1. mybatis-关联查询2-多对一关联查询

    或者多表单独查询方式

  2. 【Monkey】Monkey命令与使用

    Monkey 通过Monkey程序模拟用户触摸屏幕.滑动Trackball. 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常,Monkey 主要用于Android 的压力测试  ...

  3. 摹客RP,编辑界面缩放比例支持手动输入!

    Hello,小伙伴们,又到了摹客的新功能播报时间. 本月更新,摹客RP编辑界面缩放比例支持手动输入,并对部分组件的默认样式及属性进行了优化:摹客DT率先上线了3款黄金比例图层,辅助设计师更高效绘图:针 ...

  4. sos 扩展命令文档

    https://learn.microsoft.com/zh-cn/dotnet/framework/tools/sos-dll-sos-debugging-extension?redirectedf ...

  5. DCU-GPU

  6. 多个el-table在使用v-if在同一页面切换渲染时相互影响的解决办法

    解决办法 给每个el-table设置一个唯一的key值,如: <el-table key='uniqueName' ></el-table> <el-table key= ...

  7. Linux安装两个anaconda

    安装过程 1.安装第一个Anaconda Anaconda的官方安装网址在 https://www.continuum.io/downloads/ 安装命令: bash Anaconda3-4.3.1 ...

  8. 解决MyBatis-Plus修改为null值无效的问题

    @TableField(strategy = FieldStrategy.IGNORED)

  9. maven-标准目录结构,常用命令,生命周期,概念模型图

    maven-标准目录结构 作为一个maven工程,它的src目录和pom.xml是必备的,进入src目录后,我们发现它里面的目录结构如下:  src/main/java -- 存放项目的 . java ...

  10. JAVA根据时间增加1天

    String time = "2021-12-1"; //指定时间 int day = 30;//指定增加天数 SimpleDateFormat sf = new SimpleDa ...