using System; using System.Collections.Generic; using System.Web; using SuperMap.RealEstate.Web.UI; using System.Web.UI.WebControls; using Business = SuperMap.RealEstate.FrameWork.Business; namespace SuperMap.RealEstate.HighWay.Modules.UserServerPart { public partial class UserTree : BasePage { Business.UserRole _UserRole = new Business.UserRole(); protected void Page_Load(object sender, EventArgs e) { this.Master_SizeBox.SideBar.Width = "50%"; //this.Master_SizeBox.ContentPlaceHolder_ToolBar.ContentPlaceHolder_Center.TextAlign // = Web.UI.SizeBoxMasterPages.TextAlign.Center; //this.Master_SizeBox.ContentPlaceHolder_Footer.ContentPlaceHolder_Center.TextAlign // = Web.UI.SizeBoxMasterPages.TextAlign.Center; if (IsPostBack) return; _UserRole.Open(); TreeViewBinding_RoleType(); _UserRole.Close(); this.FixTreeViewDoubleClick(MyTreeView,false); this.FixTreeViewDoubleClick(TreeViewUserRole,false); this.FixTreeViewNodeChecked(MyTreeView); this.FixTreeViewNodeChecked(TreeViewUserRole); SetControlClientAction(ButtonRemove, false, true, true); SetControlClientAction(ButtonSave, false, true, true); SetControlClosePopDialog(buttonClose); } #region User_ID private int User_ID { get { return Request["ID"].ToDecryptInt32(); } } #endregion //绑定数据源 private void TreeViewBinding_RoleType() { MyTreeView.Nodes.Clear(); _UserRole.BindingTreeView_RoleType("-1", MyTreeView.Nodes, false); TreeViewBinding_UserRole(); } private void TreeViewBinding_UserRole() { TreeViewUserRole.Nodes.Clear(); _UserRole.BindingRoleTreeView(User_ID.ToString(), TreeViewUserRole.Nodes); } protected void MyTreeView_TreeNodePopulate(object sender, TreeNodeEventArgs e) { _UserRole.Open(); _UserRole.BindingTreeView_RoleType(e.Node.Value, e.Node.ChildNodes, e.Node.Checked); _UserRole.Close(); } protected void ButtonSave_Click(object sender, EventArgs e) { _UserRole = new Business.UserRole(Transaction); SaveUserRole(MyTreeView.Nodes); TreeViewBinding_UserRole(); } private void SaveUserRole(TreeNodeCollection treeNodeCollection) { foreach (TreeNode _Node in treeNodeCollection) { if (!_Node.Checked) { _Node.Checked = false; continue; } if (_Node.ImageToolTip == "RoleType") { if (_Node.PopulateOnDemand) { _Node.PopulateOnDemand = false; _UserRole.BindingTreeView_RoleType(_Node.Value, _Node.ChildNodes,_Node.Checked); } SaveUserRole(_Node.ChildNodes); _Node.Checked = false; continue; } _Node.Checked = false; _UserRole.ResetProperty(); _UserRole.AddSearchParameter("User_ID", User_ID); _UserRole.AddSearchParameter("Role_ID", int.Parse(_Node.Value.Replace("Role|", ""))); //是否存在 if (!_UserRole.Search()) { _UserRole.ResetProperty(); _UserRole.User_ID = User_ID; _UserRole.Role_ID = int.Parse(_Node.Value.Replace("Role|", "")); _UserRole.Insert(); } } } protected void ButtonRemove_Click(object sender, EventArgs e) { _UserRole = new Business.UserRole(Transaction); DeleteUserRole(TreeViewUserRole.Nodes); TreeViewBinding_UserRole(); } private void DeleteUserRole(TreeNodeCollection treeNodeCollection) { foreach (TreeNode _Node in treeNodeCollection) { if (_Node.ImageToolTip == "RoleType") { DeleteUserRole(_Node.ChildNodes); continue; } if (_Node.ImageToolTip == "UserRole") { if (!_Node.Checked) { _UserRole.ResetProperty(); _UserRole.Delete(int.Parse(_Node.Value)); } } } } } }