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();
  }

最新文章

  1. 利用HAProxy代理SQL Server的AlwaysOn辅助副本
  2. angular2系列教程(五)Structural directives、再谈组件生命周期
  3. JavaWeb路径问题打包总结--小心出门右转404
  4. js 正则验证输入框只允许输入正实数和正整数和负整数
  5. node设置cookie
  6. SQL Server中,Numric,Decimal,Money三种字段类型的区别
  7. awk内置字符串函数 awk 格式化输出
  8. Linux和远程系统同步文件(未完成)
  9. POJ 3744 Scout YYF I (概率dp+矩阵快速幂)
  10. iOS修改声明为readonly的属性值
  11. Redis - 发布/订阅模式
  12. 130. Surrounded Regions
  13. 网格GridLayout建立
  14. 【转载】ADO.NET与ROM的比较(1):ADO.NET实现CRUD
  15. C# 结构体 枚举类型
  16. 【排序算法】快速排序算法 Java实现
  17. Django--admin源码流程
  18. Appium+python 使用 press_keycode 如何输入大写字母
  19. 关于socket
  20. tomcat的JVM调优

热门文章

  1. 面试之AQS
  2. windows sshd powershell 配置
  3. Java script Date和长整型互换
  4. dendrogram
  5. python监控文件变化
  6. 37.Spring注解相关面试题
  7. java第六周学习情况
  8. macOS 常用键盘快捷键大全
  9. 疫情实时大数据报告(利用nodejs)
  10. 一步一步教你FasterRunner在Centos7服务器部署