C# TreeView 읽기 데이터베이스 단순 인스턴스
for를 이용해서 부모 노드를 만들고 부모 노드에 따라 하위 노드를 만듭니다.
코드:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Collections;
using System.Configuration;
using System.Data.SqlClient;
namespace TreeView
{
public partial class TreeView : System.Web.UI.Page
{ // www.jbxue.com
string connection = ConfigurationManager.ConnectionStrings["SQLconnection"].ToString();
protected void Page_Load(object sender, EventArgs e)
{
select();
CreateTree();
}
DataSet ds = new DataSet();
public DataSet DataS(string sql, string tablename)
{
SqlConnection con = new SqlConnection(connection);
SqlDataAdapter sqlda = new SqlDataAdapter(sql, con);
sqlda.Fill(ds, tablename);
return ds;
}
//ParentMenu: ,
//Grade: ,
//Flag: ,1 0 ,
//href:
public void select()
{
string sql = "select * from treeview";
ds = DataS(sql, "test");
}
public void CreateTree()
{
try
{
DataTable dt = ds.Tables["test"];
SortedList sl = new SortedList();
TreeNode tn = new TreeNode();
if (dt.Rows.Count <= 0)
{
tn.Text = " ";
tn.Value = "";
tn.NavigateUrl = "";
tn.Target = "";
tn.Expanded = false;
tn.SelectAction = TreeNodeSelectAction.SelectExpand;
}
else
{
for (int i = 0; i < dt.Rows.Count; i++)
{
//
if (dt.Rows[i]["Grade"].ToString() == "1")
{
TreeNode node = new TreeNode();
node.Text = dt.Rows[i]["MenuName"].ToString();
node.Value = dt.Rows[i]["MenuID"].ToString();
if (dt.Rows[i]["Flag"].ToString() == "1")
{
node.NavigateUrl = dt.Rows[i]["href"].ToString();
tn.Target = "_bank";
}
node.Expanded = false;
node.SelectAction = TreeNodeSelectAction.Expand;
sl.Add(node.Value, node);
tv_Method.Nodes.Add(node);
}
else
{
//
TreeNode ParentNod = (TreeNode)sl.GetByIndex(sl.IndexOfKey(dt.Rows[i]["ParentMenu"].ToString()));
//
TreeNode tnChild = new TreeNode();
tnChild.Text = dt.Rows[i]["MenuName"].ToString();
tnChild.Value = dt.Rows[i]["MenuID"].ToString();
if (dt.Rows[i]["Flag"].ToString() == "1")
{
tnChild.NavigateUrl = dt.Rows[i]["href"].ToString();
tnChild.Target = "_bank";
}
tnChild.Expanded = false;
tnChild.SelectAction = TreeNodeSelectAction.Expand;
sl.Add(tnChild.Value, tnChild);
ParentNod.ChildNodes.Add(tnChild);
}
}
}
}
catch (Exception ex)
{
throw ex;
}
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ERROR: canceling statement due to user request환경: jdk1.8 구조: Spring Boot 1.5.7 + Mybatis 3.4.3 + Druid + PostgreSQL JDBC Driver나는 PostgreSQL을 사용하여 몇 가지 조회 타임즈에서 오류를 실...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.