




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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年甘肃省民航机场集团校园招聘45人笔试参考题库参考答案详解
- Module1-Grammar-公开课教学设计
- 寡人之于国也课件(公开课课件)
- 机场组织架构
- 2025至2030年中国高速平板式切割机行业投资前景及策略咨询报告
- 2024届安徽省临泉县重点名校中考数学模拟试卷含解析
- 卡尔曼滤波与组合导航考试试卷A
- 《冷库场所消防安全知识》培训
- DB2101T 0047-2022 街道和乡镇政务诚信评价指标与规范
- 烤烟房买卖合同范文
- 儿童钻石画课件
- 【MOOC】气候变化与人类社会-南京信息工程大学 中国大学慕课MOOC答案
- 河南省第二届职业技能大赛网络安全(世赛)项目技术工作文件
- 《点动控制线路》课件
- DB43T 244.4-2017 建设项目涉及国家安全的系统规范 第4部分:入侵报警系统规范
- 国开(浙江)2024年秋《中国建筑史(本)》形考作业1-4答案
- 2024年高等教育教育类自考-02113医学心理学考试近5年真题附答案
评论
0/150
提交评论