📄 defaultcs.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Telerik.QuickStart;
using Telerik.WebControls;
namespace Telerik.TreeViewExamplesCSharp.WhatsNew
{
/// <summary>
/// Summary description for _Default.
/// </summary>
public class DefaultCS: XhtmlPage
{
protected RadTreeView RadTree1;
protected RadTreeView RadTree2;
protected Label DragMessage;
protected DataGrid DataGrid1;
protected DropDownList Skins;
protected CheckBox CheckBoxes;
protected CheckBox AutoCheckChildNodes;
protected CheckBox SingleExpandPath;
protected CheckBox DragAndDrop;
protected System.Web.UI.WebControls.TextBox NodeText;
protected System.Web.UI.WebControls.Button SubmitButton;
protected CheckBox MultipleNodes;
private void PopulateGrid()
{
string [] values = { "Drop", "A Tree Node", "Here" };
DataTable dt = new DataTable();
dt.Columns.Add("Text");
dt.Columns.Add("Value");
dt.Columns.Add("Category");
dt.Rows.Add(values);
dt.Rows.Add(values);
dt.Rows.Add(values);
Session["DataTable"] = dt;
//DataGrid1.Attributes.Add("DropID","Grid");
DataGrid1.DataSource = dt;
DataGrid1.DataBind();
}
private void AddRowToGrid(DataTable dt, RadTreeNode node)
{
string [] values = { node.Text, node.Value, node.Category };
dt.Rows.Add(values);
DataGrid1.DataSource = dt;
DataGrid1.DataBind();
}
protected void InitCheckBoxes()
{
CheckBoxes.Checked = true;
AutoCheckChildNodes.Checked = true;
MultipleNodes.Checked = true;
DragAndDrop.Checked = true;
SingleExpandPath.Checked = true;
}
protected void HandleNodeEdit(object sender, RadTreeNodeEventArgs NodeEvents)
{
RadTreeNode nodeEdited = NodeEvents.NodeEdited;
string newText = NodeEvents.NewText;
nodeEdited.Text = newText;
}
protected void HandleContextClick(object sender, RadTreeNodeEventArgs NodeEvents)
{
string contextCommand = NodeEvents.ContextMenuItemText;
RadTreeNode currentNode = NodeEvents.NodeClicked;
switch (contextCommand)
{
case "Delete node" :
currentNode.Remove();
break;
case "Copy node (clone)" :
RadTreeNode newNode = new RadTreeNode(currentNode.Text + " (clone)");
newNode.Image = currentNode.Image;
newNode.ContextMenuName = currentNode.ContextMenuName;
currentNode.ParentNodeCollection.Add(newNode);
break;
case "New folder" :
RadTreeNode folderNode = new RadTreeNode("New Folder");
folderNode.Image = "folder.gif";
folderNode.ContextMenuName = "Mail";
currentNode.Nodes.Add(folderNode);
currentNode.Expanded = true;
break;
}
}
protected void HandleDrop(object sender, RadTreeNodeEventArgs NodeEvent)
{
RadTreeNode sourceNode = NodeEvent.SourceDragNode;
RadTreeNode destNode = NodeEvent.DestDragNode;
if (destNode != null)
{
if (sourceNode.TreeViewParent.SelectedNodes.Count <= 1)
{
if (sourceNode != destNode.Parent)
{
sourceNode.Remove();
destNode.AddNode(sourceNode);
sourceNode.Selected = false;
}
}
else if (sourceNode.TreeViewParent.SelectedNodes.Count > 1)
{
foreach (RadTreeNode node in sourceNode.TreeViewParent.SelectedNodes)
{
if (node != destNode.Parent)
{
node.Remove();
destNode.AddNode(node);
}
node.Selected = false;
}
}
destNode.Expanded = true;
sourceNode.TreeViewParent.ClearSelectedNodes();
}
else if (NodeEvent.HtmlElementID == "Grid")
{
DataTable dt = (DataTable) Session["DataTable"];
if (sourceNode.TreeViewParent.SelectedNodes.Count <= 1)
{
AddRowToGrid(dt, sourceNode);
}
else if (sourceNode.TreeViewParent.SelectedNodes.Count > 1)
{
foreach (RadTreeNode node in sourceNode.TreeViewParent.SelectedNodes)
AddRowToGrid(dt, node);
}
}
}
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
//NodeText.Attributes.Add("DropId","textbox");
InitCheckBoxes();
PopulateGrid();
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
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.CheckBoxes.CheckedChanged += new System.EventHandler(this.CheckBoxes_CheckedChanged);
this.AutoCheckChildNodes.CheckedChanged += new System.EventHandler(this.AutoCheckChildNodes_CheckedChanged);
this.MultipleNodes.CheckedChanged += new System.EventHandler(this.MultipleNodes_CheckedChanged);
this.SingleExpandPath.CheckedChanged += new System.EventHandler(this.SingleExpandPath_CheckedChanged);
this.DragAndDrop.CheckedChanged += new System.EventHandler(this.DragAndDrop_CheckedChanged);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void CheckBoxes_CheckedChanged(object sender, System.EventArgs e)
{
RadTree1.CheckBoxes = CheckBoxes.Checked;
RadTree2.CheckBoxes = CheckBoxes.Checked;
}
private void AutoCheckChildNodes_CheckedChanged(object sender, System.EventArgs e)
{
if (AutoCheckChildNodes.Checked)
{
RadTree1.AfterClientCheck = "CheckChildNodes";
RadTree2.AfterClientCheck = "CheckChildNodes";
}
else
{
RadTree1.AfterClientCheck = String.Empty;
RadTree2.AfterClientCheck = String.Empty;
}
}
private void MultipleNodes_CheckedChanged(object sender, System.EventArgs e)
{
RadTree1.MultipleSelect = MultipleNodes.Checked;
RadTree2.MultipleSelect = MultipleNodes.Checked;
}
private void SingleExpandPath_CheckedChanged(object sender, System.EventArgs e)
{
RadTree1.SingleExpandPath = SingleExpandPath.Checked;
RadTree2.SingleExpandPath = SingleExpandPath.Checked;
}
private void DragAndDrop_CheckedChanged(object sender, System.EventArgs e)
{
RadTree1.DragAndDrop = DragAndDrop.Checked;
RadTree2.DragAndDrop = DragAndDrop.Checked;
}
protected void SwitchSkins(object sender, EventArgs e)
{
RadTree1.Skin = Skins.SelectedItem.Value;
RadTree2.Skin = Skins.SelectedItem.Value;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -