




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DataSet ds = new DataSet(); string str0 = SELECT lh, lmmc FROM tdlm WHERE (jb = 1) ; OleDbDataAdapter da0 = new OleDbDataAdapter(str0, cn); da0.Fill(ds, tdlm0 ); int TableRow_Count0 = ds.Tables tdlm0 .DefaultView.Count;/求出ds中的 tdlm0 表的总行数 for(int i0 = 0; i0 TableRow_Count0; i0+) DataRow dr0 = ds.Tab
2、les tdlm0 .Rowsi0; TN0 = new TreeNode(); TN0.ID = dr00.ToString().Trim(); TN0.Text = dr00.ToString() + dr01.ToString(); TN0.Target = main ; TN0.NavigateUrl = cx1.asp?leimu= + TN0.ID; TreeView.Nodes.Add(TN0); string str00 = String.Format( SELECT lh, lmmc FROM tdlm WHERE (jb = 2) AND (sjlh = 0 ) , dr0
3、0.ToString().Trim(); OleDbDataAdapter da00 = new OleDbDataAdapter(str00, cn); da00.Fill(ds, tdlm00 ); int TableRow_Count00 = ds.Tables tdlm00 .DefaultView.Count; for(int i00 = 0; i00 TableRow_Count00; i00+) DataRow dr00 = ds.Tables tdlm00 .Rowsi00; TN00 = new TreeNode(); TN00.ID = dr000.ToString().T
4、rim(); TN00.Text = dr000.ToString() + dr001.ToString(); TN00.Target = main ; TN00.NavigateUrl = cx1.asp?leimu= + TN00.ID; TN0.Nodes.Add(TN00); ds.Tables tdlm00 .Clear(); ds.Tables tdlm0 .Clear(); 数据库中首先有树的ID列和Text 至于你想怎么显示还得看自己灵活运用String相加来显示Text值查看文章C#实现数据库与treeview的绑定 并且能够获得所选的节点值2009年06月05日 星期五 0
5、1:07在网上找了很多例子,现在看来是很浪费时间的,从MSDN上就有一个很好的例子,将这个例子理解了,对treeview绑定数据库就没有什么大的问题了。我最终实现的效果如下图所示:6是我点击管理首页时的节点值具体的代码如下一个显示页面assignright.aspx 无标题页using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web
6、.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class admin_assignright : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) protected void TreeView2_TreeNodePopulate(object sender, TreeNodeEven
7、tArgs e) if (e.Node.ChildNodes.Count = 0) switch (e.Node.Depth) case 0: Populateactionmodule(e.Node); break; case 1: Populateactioncolumn(e.Node); break; void Populateactionmodule(TreeNode node) SqlCommand sqlQuery = new SqlCommand( Select modulename, actionmoduleid From actionmodule); DataSet resul
8、tSet; resultSet = RunQuery(sqlQuery); if (resultSet.Tables.Count 0) foreach (DataRow row in resultSet.Tables0.Rows) TreeNode NewNode = new TreeNode(rowmodulename.ToString(), rowactionmoduleid.ToString(); NewNode.PopulateOnDemand = true; NewNode.SelectAction = TreeNodeSelectAction.Expand; node.ChildN
9、odes.Add(NewNode); void Populateactioncolumn(TreeNode node) SqlCommand sqlQuery = new SqlCommand(); sqlQuery.CommandText = Select actioncolumnname,actioncolumnid From actioncolumn + Where actionmoduleid = actionmoduleid; sqlQuery.Parameters.Add(actionmoduleid, SqlDbType.Int).Value = node.Value; Data
10、Set ResultSet = RunQuery(sqlQuery); if (ResultSet.Tables.Count 0) foreach (DataRow row in ResultSet.Tables0.Rows) TreeNode NewNode = new TreeNode(rowactioncolumnname.ToString(), rowactioncolumnid.ToString(); NewNode.PopulateOnDemand = false; NewNode.SelectAction = TreeNodeSelectAction.Select; node.C
11、hildNodes.Add(NewNode); private DataSet RunQuery(SqlCommand sqlQuery) string connectionString = ConfigurationManager.ConnectionStrings powerMISConnectionString.ConnectionString; SqlConnection DBConnection = new SqlConnection(connectionString); SqlDataAdapter dbAdapter = new SqlDataAdapter(); dbAdapt
12、er.SelectCommand = sqlQuery; sqlQuery.Connection = DBConnection; DataSet resultsDataSet = new DataSet(); try dbAdapter.Fill(resultsDataSet); catch labelStatus.Text = 出现错误,不能连接数据库!; return resultsDataSet; protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e) protec
13、ted void TreeView2_SelectedNodeChanged1(object sender, EventArgs e) TreeView trv = sender as TreeView; TreeNode node = trv.SelectedNode; string value = node.Value; this.labelStatus.Text = value; protected void CheckBoxList1_DataBinding(object sender, EventArgs e) 数据库中的两张表actionmodule表actioncolumn表具体
14、的顺序我就不阐述了,在MSDN中搜索treeview选web控件的那个,然后在里面的演练选项中有详细的说明,在 TreeView 控件中显示关系数据,重点说一下要获得鼠标点击的节点值,需要改动两个地方,在上面的红色代码即是。C#的吗? 无限分类吗?下面是C#无递归绑定TREEVIEW 一般的分类表里多一个字段ParentID(表示父ID)当然为了效率 你还可以考虑深度,位置等等一般一个父亲ID就能满足了/ / 填充节点 / / 节点结合 / 父ID public void PopulateNodes(TreeNodeCollection nodes, Int32 intParentID) DataRow dr; dr = dt.Select(ParentID=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 有限公司股权转让协议范本
- 2025年中药调剂处方审核考试题及答案
- 2025年全国冶金建设行业职业技能理论知识竞赛题库及答案
- 2025年食堂从业人员培训考试试题及答案
- 教育行业劳动合同
- 适合面试题目及答案
- 2025-2030中国装配式建筑标准化体系建设与市场渗透率报告
- 电力系统智能仿真技术合同
- 古代宗教与宗教复兴背景考古学合同
- 2025-2030中国纺织服装产业升级与市场投资价值评估
- 农业绿色发展背景下我国化肥减量增效研究
- 营销经理助理历年真题和模拟试题
- 铁路货车制动故障分析与处理
- GB/T 5235-2021加工镍及镍合金牌号和化学成分
- 深圳福田区城市绿洲学校小升初英语模拟试题(共9套)详细答案
- 预制混凝土检查井施工方案
- 破伤风皮试液配制与脱敏注射课件
- 3、室外铝单板幕墙施工方案
- 《病理检验技术》课程标准
- 茶树斜纹夜蛾的特征习性、暴发原因及防治措施
- 航海英语听力与会话第四版答案
评论
0/150
提交评论