Asp.net绑定带层次下拉框(select控件)
1、效果图

2、数据库中表数据结构

3、前台页面
<select id="pid" runat="server" style="width:160px;" >
<option value="0" data="|0|">不选父级类</option>
</select>
4、后台代码
using System;
using System.Data;
using System.Web.UI.WebControls;
//带层次的绑定下拉框(select控件)
BindDropDownList(, "┗━");
/// <summary>
/// 带层次的绑定下拉框
/// </summary>
/// <param name="pItemId">父类编号</param>
/// <param name="levelStr">层次样式</param>
protected void BindDropDownList(int pItemId, string levelStr)
{
//获取新闻类别列表
DataTable dt = Express.BLL.NewsCategory.GetDataSet().Tables[];
//判断是否是父类,更改其层级值
if (pItemId != )
{
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.ExecuteDataSet(ConnString.connReadonly, 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[].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(筛选条件,排序);

Asp.net绑定带层次下拉框(select控件)的更多相关文章
- Jquery+json绑定带层次下拉框(select控件)
一.实现的效果图 备注: 1.主要实现添加类别绑定到Ztree树之后,select下拉框在不刷新页面的情况下,通过Jquery重新绑定问题,增加用户体验度: 2.这个只是实现两层的绑定,通过sql语句 ...
- GridControl控件绑定RepositoryItemImageComboBox 作为下拉框使用
如果,时间长时了,已前做过的东西,都记不得了,所以记录一下. 废话不多说. 1.拖出gridview控件,然后将字段绑定上去 2.将要做下拉框的控件加入RepositoryItemImageCombo ...
- devpress GridControl控件绑定RepositoryItemImageComboBox 作为下拉框使用 zt
1.拖出gridview控件,然后将字段绑定上去 2.将要做下拉框的控件加入RepositoryItemImageComboBox控件 3.绑定数据 ; i < ; i++) { //如果取值时 ...
- struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input
原文地址:struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input jsp页面 1 function dosearch() {2 if ($(&q ...
- elementUI下拉框select组件change事件用法
<el-select-custom clearable collapse-tags v-model="searchForm.cardTypeList" @change=&qu ...
- jQuery对下拉框Select操作总结
jQuery对下拉框Select操作总结 转自网络,留做备用 jQuery获取Select元素,并选择的Text和Value: 1. $("#select_id").change( ...
- JQuery操作下拉框 select
要实现这种效果: html代码 1<script src="js/jquery-1.7.2.min.js"></script> 2 <table> ...
- 下拉框select中option居中样式
下拉框select中option居中样式 text-align:center;text-align-last:center;
- 【jQuery获取下拉框select、单选框radio、input普通框的值和checkbox选中的个数】
radio单选框:name属性相同 <input type="radio" id="sp_type" name="p_type" va ...
随机推荐
- Codeforces Round #309 (Div. 1) B. Kyoya and Permutation 构造
B. Kyoya and Permutation Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/ ...
- android开发环境 eclipse + android sdk配置笔记
本开发环境为:eclipse + android sdk,步骤说明的顺序,没有特别要求,看个人爱好了 步骤说明: 1.安装eclipse 2.配置jdk 3.安装android sdk 4.安装ADT ...
- [CSS3 Animation] TweenMax.staggerTo()
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Java中static、final用法小结
一.final 1.final变量: 当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引 ...
- mysql常用命令大全 mysql常用命令总结
原文地址:http://www.jbxue.com/db/12472.html 本文介绍下,mysql中常用的一些命令,包括创建与修改数据库.数据库中的表,mysql的权限管理命令grant.revo ...
- 基于jQuery的图片相册滑出放大插件
今天给大家带来一款基于jQuery的图片相册滑出放大插件.点击相册图片,展示该图片.该插件适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗..效 ...
- Java基础知识强化之IO流笔记76:NIO之 Channel(通道)之间的数据传输
1. 在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel. (1)trans ...
- swift3.0基础语法
swift 3.0 基础语法 目录 01-变量和常量 02-运算符 03-可选项 04-条件语句 05-循环 06-字符串 07-元组 08-数组 09-字典 10-对象和类 11-枚举 12-属性 ...
- Callable--创建有返回值的线程
转自:JAVA 笔记 Callable 与 FutureTask:有返回值的多线程 常用的Thread类在run方法执行完之后是没有返回值的,要实现子线程完成任务后返回值给主线程需要借助第三方转存.C ...
- iOS 画图讲解2
1.图片水印 //layer上下文只能显示在drawRect里 //当开启上下文时,绘制图形即可在viewDidLoad中实现 //位图的上下文 //UIGraphicsBeginImageConte ...