绑定数据库数据_第1页
绑定数据库数据_第2页
绑定数据库数据_第3页
绑定数据库数据_第4页
绑定数据库数据_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论