using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using SuperMap.RealEstate.CoreFrameWork.Dictionary; using System.Data; namespace SuperMap.RealEstate.CoreFrameWork.Dictionary { public partial class FieldEnumTree : SuperMap.RealEstate.HighWay.Modules.ServerPart.BasePage { protected override void OnInit(EventArgs e) { base.OnInit(e); _FieldEnum = new Business.FieldEnum(Transaction); } Business.FieldEnum _FieldEnum = null; protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; TreeViewBinding(false); //处理定位 if (!String.IsNullOrEmpty(Request["ID"])) { _FieldEnum.FieldEnum_ID_Encrypt = Request["ID"]; if (_FieldEnum.Select()) FindTypeNode(_FieldEnum, MyTreeView.Nodes); } _FieldEnum.Close(); SetControlClientAction(ButtonSearch); SetControlClientAction(ButtonIndex, false, true, true); SetControlClientAction(ButtonAddFieldEnum, "parent.FieldEnumDefaultObjectDetail", "FieldEnumPage.aspx?TypeID=" + Request["TypeID"]); FixTreeViewDoubleClick(MyTreeView,true); } string _FieldExplain_ID=string.Empty; string FieldExplain_ID { get { if (string.IsNullOrEmpty(_FieldExplain_ID)) { _FieldEnum.FieldEnum_ID_Encrypt = Request["TypeID"]; _FieldExplain_ID = _FieldEnum.FieldEnum_ID.ToString(); } return _FieldExplain_ID; } } #region FindSelectedNode private bool FindTypeNode(Business.FieldEnum ParentFieldEnum, TreeNodeCollection Nodes) { Business.FieldEnum _FieldEnumParent = ParentFieldEnum; while (_FieldEnumParent != null) { foreach (TreeNode _Node in Nodes) { if (_Node.Value != _FieldEnumParent.FieldEnum_ID.ToString()) { continue; } if (_FieldEnumParent.KeyID == ParentFieldEnum.KeyID) { _Node.Text = _Node.Text + ""; _Node.Selected = true; if (_Node.PopulateOnDemand) { _Node.PopulateOnDemand = false; _FieldEnum.BindingTreeView(FieldExplain_ID, _Node.Value, _Node.ChildNodes, string.Empty, false,ModuleInfo.ID_Encrypt); } _Node.Expanded = _Node.ChildNodes.Count > 0; return true; } else { if (_Node.PopulateOnDemand) { _Node.PopulateOnDemand = false; _FieldEnum.BindingTreeView(FieldExplain_ID, _Node.Value, _Node.ChildNodes, string.Empty, false, ModuleInfo.ID_Encrypt); } _Node.Expanded = _Node.ChildNodes.Count > 0; return FindTypeNode(ParentFieldEnum, _Node.ChildNodes); } } _FieldEnumParent = _FieldEnumParent.GetParentFieldEnum(); } return false; } #endregion //绑定数据源 private void TreeViewBinding(bool withChildNodes) { MyTreeView.Nodes.Clear(); _FieldEnum.BindingTreeView(FieldExplain_ID, "-1", MyTreeView.Nodes, TextBoxSearch.Text, withChildNodes, ModuleInfo.ID_Encrypt); } protected void MyTreeView_TreeNodePopulate(object sender, TreeNodeEventArgs e) { _FieldEnum.BindingTreeView(FieldExplain_ID, e.Node.Value, e.Node.ChildNodes, TextBoxSearch.Text, false, ModuleInfo.ID_Encrypt); } protected void ButtonSearch_Click(object sender, EventArgs e) { TreeViewBinding(false); } protected void ButtonIndex_Click(object sender, EventArgs e) { //重载数据 ResetTreeViewIndex(MyTreeView.Nodes); if (MyTreeView.SelectedNode != null) { Redirect("parent.FieldEnumDefaultObjectDetail", MyTreeView.SelectedNode.NavigateUrl); } Alert("排序成功!", 3); } private void ResetTreeViewIndex(TreeNodeCollection nodes) { TreeNode _Node; for (int i = 0; i < nodes.Count; i++) { _Node = nodes[i]; _FieldEnum.ResetProperty(); _FieldEnum.FieldEnum_ID = int.Parse(_Node.Value); _FieldEnum.FieldEnum_Index = (i + 1) * 10; _FieldEnum.Update(); if (_Node.PopulateOnDemand) { _Node.PopulateOnDemand = false; _FieldEnum.BindingTreeView(FieldExplain_ID, _Node.Value, _Node.ChildNodes, string.Empty, false, ModuleInfo.ID_Encrypt); } ResetTreeViewIndex(_Node.ChildNodes); } } } }