用DataTable绑定TreeView的方法
来源:互联网 发布:菅野洋子 知乎 编辑:程序博客网 时间:2024/05/24 05:32
用DataTable绑定TreeView的方法:
- 从数据库读取含父子关系列的表并填充到DataSet里去
- 创建一个关白联,并为DataSet添加该关联,DataSet的Nested属性必需为true.
- 取得该DataSet的XML描述,用XSLT将XML规则化.
- 绑定TreeView.
表的内容描述如下:
表名:CATEGORIES
CategoryID
ParentCategoryID
CategoryName
2
1
3
2
4
3
5
2
1.1
6
2
1.2
7
2
1.3
8
3
2.1
9
3
2.2
10
4
3.1
11
5
1.1.1
12
5
1.1.2
13
10
3.1.1
14
13
3.1.1.1
15
14
3.1.1.1.1
16
14
3.1.1.1.2
17
14
3.1.1.1.3
填充DataSet
//Connection to database
OleDbConnection objConn=
new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=" + Server.MapPath("db.mdb") + ";Persist Security Info=False");
//SQL query to get data from CATEGORIES table
OleDbCommand objCommand=new OleDbCommand("SELECT * FROM CATEGORIES",objConn);
//OleDbDataAdapter
OleDbDataAdapter objDa =new OleDbDataAdapter(objCommand);
//DataSet
DataSet ds=new DataSet("CATEGORIESDS");
//Fill DataSet
objDa.Fill(ds ,"CATEGORIES");
OleDbConnection objConn=
new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=" + Server.MapPath("db.mdb") + ";Persist Security Info=False");
//SQL query to get data from CATEGORIES table
OleDbCommand objCommand=new OleDbCommand("SELECT * FROM CATEGORIES",objConn);
//OleDbDataAdapter
OleDbDataAdapter objDa =new OleDbDataAdapter(objCommand);
//DataSet
DataSet ds=new DataSet("CATEGORIESDS");
//Fill DataSet
objDa.Fill(ds ,"CATEGORIES");
添加关联
//Create DataRelation
DataRelation drel=new DataRelation("CATEGORIES_RECURSIVE",
ds.Tables["CATEGORIES"].Columns["CategoryID"],
ds.Tables["CATEGORIES"].Columns["ParentCategoryID"]);
//Make sure relation is nested
drel.Nested =true;
//Add relation to DataSet's Relations collection
ds.Relations.Add(drel);
DataRelation drel=new DataRelation("CATEGORIES_RECURSIVE",
ds.Tables["CATEGORIES"].Columns["CategoryID"],
ds.Tables["CATEGORIES"].Columns["ParentCategoryID"]);
//Make sure relation is nested
drel.Nested =true;
//Add relation to DataSet's Relations collection
ds.Relations.Add(drel);
XML转换
//XmlDocument to hold XML generated from DataSet
XmlDocument objDoc=new XmlDocument();
//Load XML
objDoc.LoadXml(ds.GetXml());
//Create XslTransform object
XslTransform objXSL=new XslTransform();
//Load XSLT stylesheet
objXSL.Load(Server.MapPath("transformationtemplate.xslt"));
//StringWriter to temporarily hold result of the transformation
StringWriter writer=new StringWriter();
//Apply transformation with no arguments and dump results to StringWriter.
objXSL.Transform(objDoc.CreateNavigator(),null,writer);
XmlDocument objDoc=new XmlDocument();
//Load XML
objDoc.LoadXml(ds.GetXml());
//Create XslTransform object
XslTransform objXSL=new XslTransform();
//Load XSLT stylesheet
objXSL.Load(Server.MapPath("transformationtemplate.xslt"));
//StringWriter to temporarily hold result of the transformation
StringWriter writer=new StringWriter();
//Apply transformation with no arguments and dump results to StringWriter.
objXSL.Transform(objDoc.CreateNavigator(),null,writer);
绑定TreeView
//Set TreeView's TreeNodeSrc property to get XML from StringWriter.
TreeView1.TreeNodeSrc =writer.ToString();
//Bind TreeView
TreeView1.DataBind();
//Close StringWriter
writer.Close();
TreeView1.TreeNodeSrc =writer.ToString();
//Bind TreeView
TreeView1.DataBind();
//Close StringWriter
writer.Close();
- 用DataTable绑定TreeView的方法
- TreeView与DataTable的绑定
- TreeView与DataTable的绑定
- TreeView的绑定方法
- TreeView数据绑定的方法
- 小D的TreeView数据绑定方法
- treeview 绑定 datatable 或 dataset 添加节点
- TreeView数据绑定方法
- DropDownList与DataTable数据绑定的方法
- 显示DataTable的 TreeView 控件
- Treeview的递归绑定
- Treeview的递归绑定
- Treeview的递归绑定
- winfrom treeview的绑定
- TreeView的绑定
- TreeView的绑定
- 用DataRelation给多个DataTable建立关系,然后绑定到TreeView显示出来
- 用DataRelation给多个DataTable建立关系,然后绑定到TreeView显示出来
- 华为任老总写给患抑郁症员工的新作
- 使用DurationFormatUtils把时间区间格式化为"天 时:分:秒"
- [WCF 学习笔记] 1. 基本概念
- 一个开源的IoC采集服务器体系结构设计
- ROR v.s. Django@Python
- 用DataTable绑定TreeView的方法
- 利用Filter压缩HTTP响应
- JS操作select相关方法:新增 修改 删除 选中 清空 判断存在
- UML:业务用例
- scriptManager和全球化和本地化
- 使用 /proc 文件系统来访问 Linux 内核的内容
- 在ASP.net中是如何实现注销功能的?
- 几个重要的Linux操作系统 内核文件介绍
- 内存