版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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年温州市龙湾区人民政府瑶溪街道办事处关于公开招聘编外工作人员4人的备考题库及答案详解(夺冠系列)
- 2025重庆万州区双河口街道办事处招聘2人备考题库含答案详解(精练)
- 2025至2030压路机行业市场发展分析及区域市场与投资报告
- 2025岱山农商银行秋季招聘备考题库及参考答案详解一套
- 2026年度中国农业银行黑龙江省分行校园招聘451人备考题库参考答案详解
- 2025至2030特种聚苯乙烯树脂行业运营态势与投资前景调查研究报告
- 2025上海市阳光社区青少年事务中心徐汇工作站招聘5人备考题库及一套答案详解
- 通信产业集团招聘考试真题2025
- 保险行业人才引进的趋势与挑战-保险公司人力资源负责人
- 2024明阳风机MY2.0Se风力发电机组运行状态及故障代码手册(ORRB)
- 2025年度浙江省政府采购评审专家资格能力测试试卷A卷附答案
- 2024北华航天工业学院教师招聘考试真题及答案
- 国家开放大学《公共政策概论》机考含参考答案
- 王家大院课件
- 第六单元 复习与关联 4 图形的位置与测量 课件 人教版(2024)二年级上册
- 空间定位展示技术-洞察及研究
- 江苏省南京市六校联合体2024-2025学年高二下学期3月联合调研英语试题
- 自身免疫性溶血性贫血诊疗指南(2025年版)
评论
0/150
提交评论