温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:TreeGrid控件及Demo源码
当前文件:
TreeGrid/Default.aspx.cs[4K,2009-6-12 11:57:41],打开代码结构图
TreeGrid/Default.aspx.cs[4K,2009-6-12 11:57:41],打开代码结构图1using System; 2
using System.Collections; 3
using System.Configuration; 4
using System.Data; 5
using System.Linq; 6
using System.Web; 7
using System.Web.Security; 8
using System.Web.UI; 9
using System.Web.UI.HtmlControls; 10
using System.Web.UI.WebControls; 11
using System.Web.UI.WebControls.WebParts; 12
using System.Xml.Linq; 13
using TB.Web.UI.WebControls; 14
15
namespace TB.Web.UI.TreeGridDemo 16
{ 17
public partial class Default : System.Web.UI.Page 18
{ 19
protected void Page_Load(object sender, EventArgs e) 20
{ 21
if (!Page.IsPostBack) 22
{ 23
Builder.InitTreeGridManual(this.TreeGrid); 24
} 25
26
} 27
28
protected void TreeGrid_SelectedNodeChanged(object sender, TB.Web.UI.WebControls.TreeGridNodeEventArgs e) 29
{ 30
31
} 32
protected void TreeGrid_RowCommand(object sender, TB.Web.UI.WebControls.TreeGridRowCommandEventArgs e) 33
{ 34
this.LblHint.Text = "我被点击了[Event Name:" + e.CommandName+ "] " + DateTime.Now.ToString(); 35
36
if (e.CommandName == "Edit") 37
{ 38
TreeGridNode oNode = this.TreeGrid.EditingNode; // previous EditingNode 39
e.Row.Owner.Edit(); // set current EditingNode 40
41
if (oNode != null) // cancel previous EditingNode 42
{ 43
oNode.DataItem = Builder.GetNodeData(oNode.Value); 44
oNode.RaiseNodeDataBind(false); 45
} 46
47
e.Row.Owner.DataItem = Builder.GetNodeData(e.Row.Owner.Value); // bind data 48
e.Row.Owner.RaiseNodeDataBind(false); 49
} 50
51
if (e.CommandName == "Update") 52
{ 53
e.Row.Owner.Editing = false; 54
55
string newValue = ((TextBox)e.Row.FindControl("TxtSixth")).Text; 56
// save ..... 57
e.Row.Owner.DataItem = Builder.GetNodeData(e.Row.Owner.Value); 58
((Foo)e.Row.Owner.DataItem).C6 = newValue; // for demo 59
e.Row.Owner.RaiseNodeDataBind(false); 60
61
62
} 63
64
if (e.CommandName == "Cancel") 65
{ 66
e.Row.Owner.Editing = false; 67
68
e.Row.Owner.DataItem = Builder.GetNodeData(e.Row.Owner.Value); 69
e.Row.Owner.RaiseNodeDataBind(false); 70
} 71
72
if (e.CommandName == "Remove") 73
{ 74
if (e.Row.Owner.Parent != null) 75
{ 76
e.Row.Owner.Parent.ChildNodes.Remove(e.Row.Owner); 77
} 78
else 79
{ 80
this.TreeGrid.Nodes.Remove(e.Row.Owner); 81
} 82
} 83
} 84
protected void TreeGrid_NodePopulate(object sender, TB.Web.UI.WebControls.TreeGridNodeEventArgs e) 85
{ 86
TreeGridNode node = new TreeGridNode("new1"); 87
node.DataItem = Builder.GetNodeData("-1"); 88
e.Node.ChildNodes.Add(node); 89
node.PopulateOnDemand = true; 90
node.RaiseNodeDataBind(false); 91
92
node = new TreeGridNode("new2"); 93
node.DataItem = Builder.GetNodeData("-1"); 94
e.Node.ChildNodes.Add(node); 95
node.PopulateOnDemand = true; 96
node.RaiseNodeDataBind(false); 97
} 98
99
protected void TreeGrid_NodeDataBound(object sender, TreeGridRowEventArgs e) 100
{ 101
if (e.Row.RowType == DataControlRowType.DataRow) 102
{ 103
if (e.Row.RowState == DataControlRowState.Edit) 104
{ 105
((LinkButton)e.Row.FindControl("LbtnUpdate")).Visible = true; 106
((LinkButton)e.Row.FindControl("LbtnCancle")).Visible = true; 107
} 108
109
if (e.Row.RowState == DataControlRowState.Normal) 110
{ 111
((LinkButton)e.Row.FindControl("LbtnUpdate")).Visible = false; 112
((LinkButton)e.Row.FindControl("LbtnCancle")).Visible = false; 113
} 114
} 115
} 116
} 117
} 118






}
}