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. 标量子查询加聚合函数sql改写一

    标量子查询的语句: select /*+ GATHER_PLAN_STATISTICS dwtest */ empno, (select count(*) from DEPT1 b where b.i ...

  2. R语言回归、anova方差分析、相关性分析 《精品购物指南》调研数据可视化|附代码数据

    全文链接:http://tecdat.cn/?p=30990 最近我们被客户要求撰写关于回归.anova方差分析.相关性分析的研究报告,包括一些图形和统计输出. 在分析时,我们向客户演示了用R语言回归 ...

  3. 物理机安装mysql8, 修改数据库目录

    自动安装mysql ,并修改数据库目录. #! /bin/bash #mysql官方下载路径:https://dev.mysql.com/downloads/mysql/ # 配置dnf源 mkdir ...

  4. SQLite检查表是否存在

    通过检索SQLite的内置表sqlite_master,查询是否有需要检索的表信息,即可得出该表是否存在. SELECT * FROM sqlite_master WHERE type='table' ...

  5. 远程ubuntu虚拟机(VirtualBox)

    环境 实机win10,虚拟软件是Oracle VM VirtualBox 下载地址https://www.virtualbox.org/ ubuntu虚拟机配置 网络选桥接网卡, 原因是桥接网卡下,根 ...

  6. select控件操作汇总

    1.通过select的text来选中对应的option $("#dddddd option:contains('小型车')").attr("selected", ...

  7. 全国分乡镇第七次人口普查数据shp数据库省市区县街道

    全国分乡镇第七次人口普查数据shp数据库省市区县街道 ==名称:全国第七次人口普查任意十个乡镇的乡镇界地图==数据说明:精确到乡镇级别.==数据:面数据,属性列表(乡镇名.乡镇代码,第六次人口普查分乡 ...

  8. Web前端单词大全

    style 修饰width 宽度height 高度title 想说明的text-align 水平对齐方式center 居中 left 居左 right 居右line-height 垂直对齐方式/行高 ...

  9. winform time.AddMinutes 时间相加

    最近修改代码,要求过滤掉重复的确认. 判断条件是(收费标记&&超时时间) 代码是这样的 1 TempRecordTableAdapter tempAda = new TempRecor ...

  10. Day 11 11.2 文件操作

    文件操作 引言 到目前为止,我们做的一切操作,都是在内存里进行的,这样会有什么问题吗?如果一旦断电或发生意外关机了,那么你辛勤的工作成果将瞬间消失.是不是感觉事还挺大的呢?现在你是否感觉你的编程技巧还 ...