关于树型dropdownlist的绑定
来源:互联网 发布:淘宝在线下单什么意思 编辑:程序博客网 时间:2024/06/06 19:09
首先设计好数据库,假设数据库有三个字段Id,ParentId,Name。ParentId是树性结构必须的,就是节点的父节点id,假设跟节点id都是0。下面就可以绑定了!
思路应该很简单,就是先绑定根节点,再循环绑定子节点!父节点和子节点之间为了显示出层次结构,用空格格开,不过不是space键,没用的,必须用v1的特殊字符1。
/// <summary>
/// 绑定根节点
/// </summary>
void bindGroup()
{
DataTable dt =//获取所有节点
if(dt.Rows.Count>0)
{
foreach(DataRow row in dt.Rows)
{
if(row["ParentId"].ToString().Trim()=="0")//绑定根节点
{
this.drpItGroup.Items.Add(new ListItem(row["Name"].ToString(),row["Id"].ToString()));
this.bindDropChildItem(this.drpItGroup,dt,row["Id"].ToString(),1);
}
}
}
}
/// <summary>
/// 绑定子节点
/// </summary>
/// <param name="d"></param>
/// <param name="dt"></param>
/// <param name="id"></param>
/// <param name="length"></param>
void bindDropChildItem(DropDownList d,DataTable dt,string id,int length)
{
DataRow[] rows=dt.Select("ParentId='"+id+"'","Id DESC");//取出id子节点进行绑定
for(int i=0;i<rows.Length;i++)
{
this.drpItGroup.Items.Add(new ListItem(this.SpaceLength(length)+rows[i]["Name"].ToString(),rows[i]["Id"].ToString()));
this.bindDropChildItem(d,dt,rows[i]["Id"].ToString(),length+1);//空白数目加1
}
}
/// <summary>
/// 子节点前面的空白数
/// </summary>
/// <param name="i"></param>
/// <returns></returns>
string SpaceLength(int i)
{
string space="";
for(int j=0;j<i;j++)
{
space+=" ";//注意这里的空白是智能abc输入法状态下的v11字符;
}
return space;
}
这样就大功告成了,绑定一下就可以看到效果了!还可以在客户端进行添加节点,方法相似!
- 关于树型dropdownlist的绑定
- 关于树型dropdownlist的绑定
- 关于树型dropdownlist的绑定
- 关于树型dropdownlist的绑定
- 关于树型dropdownlist的绑定
- 关于DropDownList绑定数据的一点认识
- 关于DropDownList绑定数据的一点认识
- 关于DropDownList空间的绑定问题
- 关于gridview和dropdownlist的数据绑定
- DropDownList 的数据绑定
- 树型dropdownlist的绑定
- dropdownlist值的绑定
- DropDownList绑定的问题
- DropDownList的绑定数据
- 关于DropDownList绑定SqlDataSource数据源
- 关于DropDownList绑定数据的一点认识(原创)
- 关于dropdownlist的一个空格绑定问题(菜鸟)
- 关于DropDownList绑定数据后,怎么添加另外的默认值
- Approatch to DNA aAlgorithms
- Oment++3.3源码分析1
- %rowtype的几个注意点
- PLY文件格式及其解析
- PO BO VO DTO POJO DAO概念及其作用
- 关于树型dropdownlist的绑定
- 结构和类-结构与类!
- div+css - page-break-before设置打印分布符
- 华为,腾讯,北电,用友,神州,群硕,招聘,应聘,待遇
- 数字移动游戏
- 什么是Tag
- .NET Socket开发之同步Socket实现两例
- windows2000安装IE6遇到的问题及解决方法
- 对“若比邻”网站的注册方法的异议