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

📄 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.Collections;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Telerik.QuickStart;
using Telerik.WebControls;

namespace Telerik.TreeViewExamplesCSharp.ClientLoadOnDemandSql
{
	/// <summary>
	/// Summary description for _Default.
	/// </summary>
	public class DefaultCS: XhtmlPage
	{
		protected Telerik.WebControls.RadTreeView RadTree1;		
		protected RadioButtonList LoadingMessagePos;		

		private DataTable 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);
			DataTable dt = new DataTable();
			adapter.Fill(dt);
			dbCon.Close();

			return dt;
		}
		
		private void LoadRootNodes()
		{
			RadTree1.Nodes.Clear();			
			Session.Remove("expandedNodes");
			DataTable dt = GetNodeData("SELECT * FROM Nodes WHERE ParentId IS NULL");
			foreach (DataRow row in dt.Rows)
			{
				RadTreeNode node = new RadTreeNode();
				node.Text = (string) row["Text"];
				node.Value = ((int) row["Id"]).ToString();
				node.Category = "Some Category";
				//node.Href = "http://google.com";
				node.ID = ((int) row["Id"]).ToString();
				node.ExpandMode = ExpandMode.ServerSideCallBack;
				RadTree1.Nodes.Add(node);
			}
		}
		
		private void Page_Load(object sender, System.EventArgs e)
		{
			if (!Page.IsPostBack && (Request.QueryString["rtvID"] == null))
			{
				LoadRootNodes();
			}
		}


		private void AddChildNodes(RadTreeNode node)
		{			
			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, node.ID);
			DataTable dt = GetNodeData(sql);					
			
			foreach (DataRow row in dt.Rows)
			{
				RadTreeNode childNode = new RadTreeNode();
				childNode.Text = (string) row["NodeText"];
				childNode.ID = ((int) row["NodeId"]).ToString();					
				//childNode.Href = "http://google.com";				
				childNode.Target = "_new";
				if ( ((int) row["HasChildren"]) > 0)
				{
					childNode.ExpandMode = ExpandMode.ServerSideCallBack;
				}
				node.Nodes.Add(childNode);				
			}
		}

		private void RadTree1_NodeExpand(object o, Telerik.WebControls.RadTreeNodeEventArgs e)
		{			
			AddChildNodes(e.NodeClicked);			
		}

		protected void LoadingMessagePositionChanged(object sender, System.EventArgs e) 
		{
			switch (LoadingMessagePos.SelectedItem.Value)
			{
				case "Before" : 
					RadTree1.LoadingMessagePosition = LoadingMessagePosition.BeforeNodeText; 
					RadTree1.LoadingMessageCssClass = "LoadingMessageBlue";
					RadTree1.LoadingMessage = "(loading ..)";
					break;
				case "After" :	
					RadTree1.LoadingMessagePosition = LoadingMessagePosition.AfterNodeText;
					RadTree1.LoadingMessageCssClass = "LoadingMessageBlue";
					RadTree1.LoadingMessage = "(loading ...)";
					break;
				case "Below" :	
					RadTree1.LoadingMessagePosition = LoadingMessagePosition.BelowNodeText; 
					RadTree1.LoadingMessageCssClass = "LoadingMessage";
					RadTree1.LoadingMessage = "(loading ...)";
					break;
				case "None" :						
					RadTree1.LoadingMessagePosition = LoadingMessagePosition.None; 
					break;
			}
		}

		#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 + -