⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaultcs.aspx.cs

📁 Telerik是很大的第三方软件制造商
💻 CS
字号:
using System;
using System.Xml;
using System.Data;
using System.Drawing;
using System.Web;
using System.Data.OleDb;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Telerik.QuickStart;
using Telerik.WebControls;

namespace Telerik.TreeViewExamplesCSharp.LoadOnDemandSql
{
	/// <summary>
	/// Summary description for _Default.
	/// </summary>
	public class DefaultCS: XhtmlPage
	{
		protected Telerik.WebControls.RadTreeView RadTree1;		
		protected Label message;

		private DataSet GetNodeData(string query)
		{
			OleDbConnection dbCon = new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("~/TreeView/Data/Nodes.mdb")); 
			dbCon.Open();

			OleDbDataAdapter adapter = new OleDbDataAdapter(query, dbCon);
			DataSet ds = new DataSet();
			adapter.Fill(ds);
			dbCon.Close();

			return ds;
		}
		
		private void LoadRootNodes()
		{
			DataSet ds = GetNodeData("SELECT * FROM Nodes WHERE ParentId IS NULL");
			foreach (DataRow row in ds.Tables[0].Rows)
			{
				RadTreeNode node = new RadTreeNode();
				node.Text = (string) row["Text"];
				node.Value = ((int) row["Id"]).ToString();
				node.ID = ((int) row["Id"]).ToString();
				node.ExpandMode = ExpandMode.ServerSide;
				RadTree1.Nodes.Add(node);
			}
		}
		
		private void Page_Load(object sender, System.EventArgs e)
		{
			if (!Page.IsPostBack)
			{
				LoadRootNodes();
			}
		}

		private void RadTree1_NodeExpand(object o, Telerik.WebControls.RadTreeNodeEventArgs e)
		{
			string sql = @"SELECT
							Nodes.Id AS NodeId, Nodes.Text AS NodeText, COUNT(Children.Id) AS HasChildren
						FROM 
							Nodes
						LEFT JOIN
							Nodes Children
						ON
							Nodes.Id = Children.ParentId
						WHERE
							Nodes.ParentId = {0}
						GROUP BY
							Nodes.Id, Nodes.Text
						";

			sql = String.Format(sql, e.NodeClicked.ID);
			DataSet ds = GetNodeData(sql);
			
			e.NodeClicked.Nodes.Clear();
			foreach (DataRow row in ds.Tables[0].Rows)
			{
				RadTreeNode node = new RadTreeNode();
				node.Text = (string) row["NodeText"];
				node.ID = ((int) row["NodeId"]).ToString();				
				if ( ((int) row["HasChildren"]) > 0)
					node.ExpandMode = ExpandMode.ServerSide;
				e.NodeClicked.Nodes.Add(node);
			}

			e.NodeClicked.Expanded = true;
		}

		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			InitializeComponent();
			base.OnInit(e);
		}
		
		///		Required method for Designer support - do not modify
		///		the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{			
			this.RadTree1.NodeExpand += new Telerik.WebControls.RadTreeView.RadTreeViewEventHandler(this.RadTree1_NodeExpand);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -