Asp绑定带层次下拉框(select控件)
1、效果图
2、数据库中表数据结构
3、前台页⾯
<select id="pid" runat="server" >
<option value="0" data="|0|">不选⽗级类</option>
</select>
4、后台代码
using System;
using System.Data;
using System.Web.UI.WebControls;
/
/带层次的绑定下拉框(select控件)
BindDropDownList(0, "┗━");
///<summary>
///带层次的绑定下拉框
///</summary>
///<param name="pItemId">⽗类编号</param>
///<param name="levelStr">层次样式</param>
protected void BindDropDownList(int pItemId, string levelStr)
{
//获取新闻类别列表
DataTable dt = Express.BLL.NewsCategory.GetDataSet().Tables[0];
/asp查看源码配置ui
/判断是否是⽗类,更改其层级值
if (pItemId != 0)
{
levelStr += string.IsNullOrEmpty(levelStr) ? "┗━" : "┻━";
}
//遍历控件的列表控件中的数据项
foreach (DataRow dr in dt.Select("ParentId=" + pItemId))
{
//初始化列表控件中的数据项
ListItem li = new ListItem();
//设置数据项显⽰的⽂本
li.Text = levelStr + dr["ItemName"].ToString();
//设置数据项关联的值
li.Value = dr["Id"].ToString();
//将数据项追加到控件中
this.pid.Items.Add(li);
//遍历列表控件中的⼦类数据项
BindDropDownList(Convert.ToInt32(li.Value), levelStr);
}
}
5、数据库部分
///<summary>
/
//获取所有名称不为空的类别
///</summary>
///<returns></returns>
public DataSet GetDataSet()
{
string sql = "select * from NewsCategory where ItemName<>'' order by sortvalue ";
return SqlHelper.Readonly, CommandType.Text, sql, null);
}
备注:查看⽹页源代码
<select name="pid" id="pid">
<option value="0">不选⽗级类</option>
<option value="31">┗━新闻中⼼</option>
<option value="51">┗━┻━企业快讯</option>
<option value="52">┗━┻━企业公告</option>
<option value="53">┗━┻━⾏业动态</option>
<option value="54">┗━关于盟友捌捌</option>
<option value="55">┗━┻━企业概况</option>
<option value="56">┗━┻━企业⽂化</option>
<option value="57">┗━┻━企业发展</option>
<option value="58">┗━┻━</option>
</select>
涉及的知识点:
(1)将数据库中的数据绑定到下拉框
<select id="pid" runat="server">
<option value="0" data="|0|">不选⽗级类</option>
</select>
⽅法⼀:
DataSet ds = Express.BLL.AdminLeft.GetDataSet();
foreach (DataRow dr in ds.Tables[0].Rows)
{
pid.Items.Add(new ListItem(dr["ItemName"].ToString(), dr["Id"].ToString()));
}
备注:
ListItem引⽤空间:System.Web.UI.WebControls;
ListItem(string text,string value);//text指在 ListItem 中显⽰的⽂本;value指ListItem 的值。⽅法⼆:
pid.DataSource = dt;//设置控件的数据源
pid.DataTextField = "ItemName"; //设置数据项显⽰的⽂本
pid.DataValueField = "Id";//设置数据项关联的值
pid.DataBind();//将数据绑定到控件
(2)【DataTable.Select⽅法】返回值:DataRow对象数组
dt.Select(筛选条件);
dt.Select();
dt.Select(筛选条件,排序);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。