.NET dropdownlist控件绑定数据后,添加“全部”项,实现功能
2024-09-08 09:03:38
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 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;
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();
}
}
最新文章
- 利用HAProxy代理SQL Server的AlwaysOn辅助副本
- angular2系列教程(五)Structural directives、再谈组件生命周期
- JavaWeb路径问题打包总结--小心出门右转404
- js 正则验证输入框只允许输入正实数和正整数和负整数
- node设置cookie
- SQL Server中,Numric,Decimal,Money三种字段类型的区别
- awk内置字符串函数 awk 格式化输出
- Linux和远程系统同步文件(未完成)
- POJ 3744 Scout YYF I (概率dp+矩阵快速幂)
- iOS修改声明为readonly的属性值
- Redis - 发布/订阅模式
- 130. Surrounded Regions
- 网格GridLayout建立
- 【转载】ADO.NET与ROM的比较(1):ADO.NET实现CRUD
- C# 结构体 枚举类型
- 【排序算法】快速排序算法 Java实现
- Django--admin源码流程
- Appium+python 使用 press_keycode 如何输入大写字母
- 关于socket
- tomcat的JVM调优