您当前的位置: 首页 >  服务器

暂无认证

  • 0浏览

    0关注

    100398博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

[Ext.Net] 1.2.0_Ext.Net.TreePanel 勾选“纠结”发送给服务器端的方法

发布时间:2012-09-14 15:55:10 ,浏览量:0

Ext.Net 1.2.0_Ext.Net.TreePanel 勾选“纠结”发送给服务器端的方法
本文内容
  • 演示 TreePanel 勾选通过 DirectMethods 发送给服务器端方法
  • 说明
  • 修改记录

演示 TreePanel 勾选通过 DirectMethods 发送给服务器端方法

本文演示 Ext.Net 通过前台脚本操作页面后,如何将数据“直接”发送给服务器端方法,从而摆脱之前 ASP.NET 时代(非 Ajax)的思维模式。

<%@ Page Language="C#" %>
 
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<%@ Register Assembly="Ext.Net.Utilities" Namespace="Ext.Net.Utilities" TagPrefix="ext" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Collections" %>

 4: if (!X.IsAjaxRequest)
 5: {
 6: this.BindTreePanel(this.TreePanel1.Root);
 7: }
 8: }
 9: [DirectMethod]
 10: public string GetSelectedNodes(string nodes)
 11: {
 12: // TODO
 13: return nodes;
 14: }
 15: private void BindTreePanel(Ext.Net.TreeNodeCollection nodes)
 16: {
 17: DataTable dataSource = ExtNetInteractive.DS.GetDataSource();
 18:  
 19: Ext.Net.TreeNode root = new Ext.Net.TreeNode();
 20: root.NodeID = "0";
 21: root.Text = "Root";
 22:  
 23: if (!dataSource.IsNull() && dataSource.Rows.Count > 0)
 24: {
 25: DataRow[] items = dataSource.Select("parentid='-1'");
 26: if (items.Length > 0)
 27: {
 28: DataSet ds = new DataSet();
 29: ds.Merge(items);
 30: DataTable SourseTable = ds.Tables[0];
 31:  
 32: for (int i = 0; i < SourseTable.Rows.Count; i++)
 33: {
 34: Ext.Net.TreeNode node = new Ext.Net.TreeNode();
 35: node.NodeID = SourseTable.Rows[i]["id"].ToString();
 36: node.Text = SourseTable.Rows[i]["name"].ToString();
 37: node.Checked = Ext.Net.ThreeStateBool.False;
 38: DataRow[] hasChild = dataSource.Select("parentid='" + SourseTable.Rows[i]["id"].ToString() + "'");
 39: if (hasChild.Length > 0) node.Icon = Icon.FolderGo;
 40: else node.Icon = Icon.Table;
 41: if (hasChild.Length <= 0) node.Leaf = true;
 42: else node.Leaf = false;
 43:  
 44: root.Nodes.Add(node);
 45: BindTreePanel(node.Nodes, dataSource, SourseTable.Rows[i]["id"].ToString());
 46: }
 47: }
 48: }
 49: nodes.Add(root);
 50: }
 51: private void BindTreePanel(Ext.Net.TreeNodeCollection nodes, DataTable allData, string parentID)
 52: {
 53: DataRow[] items = allData.Select("parentid='" + parentID + "'");
 54:  
 55: if (items.Length > 0)
 56: {
 57: DataSet ds = new DataSet();
 58: ds.Merge(items);
 59: DataTable dt = ds.Tables[0];
 60: for (int i = 0; i < dt.Rows.Count; i++)
 61: {
 62: Ext.Net.TreeNode node = new Ext.Net.TreeNode();
 63: node.NodeID = dt.Rows[i]["id"].ToString();
 64: node.Text = dt.Rows[i]["name"].ToString();
 65: node.Checked = Ext.Net.ThreeStateBool.False;
 66: DataRow[] hasChild = allData.Select("parentid='" + dt.Rows[i]["id"].ToString() + "'");
 67: if (hasChild.Length > 0) node.Icon = Icon.FolderGo;
 68: else node.Icon = Icon.Table;
 69: if (hasChild.Length <= 0) node.Leaf = true;
 70: else node.Leaf = false;
 71:  
 72: nodes.Add(node);
 73: BindTreePanel(node.Nodes, allData, dt.Rows[i]["id"].ToString());
 74: }
 75: }
 76: }
 77: 
关注
打赏
1655516835
查看更多评论
立即登录/注册

微信扫码登录

0.0496s