資料庫驅動的asp.net treeview
之前給研究生部網站做後臺時用到了一個基於js和asp 的treeview,可能我比較菜,當時為了實現它並能夠根據不同使用者許可權顯示不同選單,除錯了老半天。
前段時間給學校做了一個研究生選宿舍的小程式,用asp.net 做的,順便做了個基於資料庫驅動的treeview,當然也參考了這裡的一些思想。總之就是
一個遞迴的過程,支援無限級分類。
nodestable表結構
NodeID(節點ID) NodeName(節點名稱) Link(節點超連結) ParentID(父節點ID)
程式碼如下。有時間再加上許可權的控制.
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> 1 public partial class _Default : System.Web.UI.Page
2 {
3 private DataView dataview = null;
4 protected void Page_Load(object sender, EventArgs e)
5 {
6 SqlConnection conn = new
7 SqlConnection(ConfigurationManager.ConnectionStrings["nodestable"].ConnectionString);
8 SqlCommand cmd = new SqlCommand("select * from nodestable", conn);
9 SqlDataAdapter sda = new SqlDataAdapter();
10 sda.SelectCommand = cmd;
11 DataSet ds = new DataSet();
12 sda.Fill(ds, "nodestable");
13 dataview = ds.Tables["nodestable"].DefaultView;
14 conn.Close();
15 AddTree(-1, (TreeNode)null);
16 //-------------------------------------------------
17
18 }
19 public void AddTree(int parentId, TreeNode pNode)
20 {
21 dataview.RowFilter = "parentId=" + parentId;
22 foreach (DataRowView row in dataview)
23 {
24 TreeNode Node = new TreeNode();
25 if (pNode == null)
26 {
27 Node.Text = "" + row["NodeName"].ToString() + "";
28 Node.Value = row["NodeID"].ToString();
29 mytreeview.Nodes.Add(Node);
30 Node.Expanded = true;
31 AddTree(Int32.Parse(row["NodeId"].ToString()), Node);
32 }
33 else
34 {
35 Node.Text = "" + row["NodeName"].ToString() + "";
36 Node.Value = row["NodeID"].ToString();
37 pNode.ChildNodes.Add(Node);
38 Node.Expanded = true;
39 AddTree(Int32.Parse(row["NodeID"].ToString()), Node);
40 }
41 }
42 }
43 }
44
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-662344/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- asp.net TreeView動態新增ASP.NETView
- Mybatis資料庫驅動MyBatis資料庫
- 關於資料庫驅動資料庫
- asp.net TreeView 的使用ASP.NETView
- DBVisualizer 新增資料庫JDBC驅動資料庫JDBC
- 讓資料更智慧的驅動業務——優炫自治資料庫資料庫
- 幾種連線資料庫的OLEDB驅動程式資料庫
- 有這個資料庫的JDBC的驅動程式嗎?資料庫JDBC
- C/C++ Qt 資料庫與TreeView元件繫結C++QT資料庫View元件
- Class.forName 如何載入資料庫驅動資料庫
- 鴻蒙資料驅動鴻蒙
- 資料驅動: 建立資料文化
- 主流資料庫和 NoSQL 的 Rust 客戶端驅動程式資料庫SQLRust客戶端
- Ubuntu 16.04下安裝Oracle資料庫的ODBC驅動UbuntuOracle資料庫
- 免安裝Oracle連線資料庫(odbc驅動)Oracle資料庫
- 在設定JIVE資料庫驅動時出錯資料庫
- 資料驅動背後的“陷阱”
- 資料驅動的介面設計
- 詳解資料驅動
- 資料驅動產業資產產業
- Watir資料驅動 - ExcelExcel
- 圖資料庫驅動的基礎設施運維實操資料庫運維
- jdbc的資料庫驅動類DriverManager.getConnection()引數JDBC資料庫
- 各種資料庫的jdbc驅動下載及連線方式資料庫JDBC
- 【jackyrong 】asp.net 2.0中TREEVIEW中動態增加結點ASP.NETView
- 測試驅動開發(TDD)—— 資料庫查詢篇資料庫
- 利用Apache+PHP3+MySQL建立資料庫驅動的動態網站(轉)ApachePHPMySql資料庫網站
- 探索AntDB:資料驅動時代的引擎
- Unreal Cook Book:資料驅動Unreal
- (六)WPF資料驅動模式模式
- Asp.net利用Treeview實現樹形列表ASP.NETView
- 禁止TreeView自動PostbackView
- ASP.NET 動態資料支援ASP.NET
- 分析:資料化生存,資料驅動未來的今天
- 【解決方案】基於資料庫驅動的自定義 TypeHandler 處理器資料庫
- 資料庫的啟動資料庫
- ASP.NET MongoDB資料庫操作類ASP.NETMongoDB資料庫
- 連線到 ASP.NET 資料庫ASP.NET資料庫