141 lines
5.4 KiB
C#
141 lines
5.4 KiB
C#
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 + "<a name=\"selectNode\"></a>";
|
|
_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);
|
|
}
|
|
}
|
|
}
|
|
}
|