📄 defaultcs.aspx.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 + -