| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
- using Infragistics.Win.UltraWinTree;
- using Core.Mes.ClientFrameWork;
- namespace Core.Mes.ClientManager
- {
- public partial class frmMyMenuInfo : Form
- {
- public frmMyMenuInfo()
- {
- InitializeComponent();
- }
- private void frmMyMenuInfo_Load(object sender, EventArgs e)
- {
- string err = "";
- object obj = ClientCommon._RemotingHelp.ExecuteMethod("ServerCommon", "Core.Mes.ServerCommon.UserInfoManager", "selectPT_MenuInfo",
- new object [] {}, out err);
- if (err == "")
- {
- DataTable dtMenuPos = ((DataSet)obj).Tables[0];
- dtMenuPos.PrimaryKey = new DataColumn[] { dtMenuPos.Columns[0] };
- UltraTreeNode rootNode = ultraTree1.Nodes.Add("", "/");
- AddMenuNode(rootNode, dtMenuPos.Copy());
- ultraTree1.Nodes[0].Selected = true;
- ultraTree1.Nodes[0].Expanded = true;
- setNodeStyle(ultraTree1.Nodes);
- }
- obj = ClientCommon._RemotingHelp.ExecuteMethod("ServerCommon", "Core.Mes.ServerCommon.UserInfoManager", "GetPurviewTree",
- new object[] { "AND ROLEID='"+ClientCommon._UserInfo.UserRoleID+"'" }, out err);
- if (err == "")
- {
- DataTable dtUserMenu = ((DataSet)obj).Tables[0];
- for (int i = 0; i < dtUserMenu.Rows.Count; i++)
- {
- setMyNodeStyle(dtUserMenu.Rows[i]["MENUID"].ToString(), ultraTree1.Nodes[0].Nodes);
- }
- }
- ultraTree1.ExpandAll();
- }
- void AddMenuNode(UltraTreeNode pNode, DataTable dtab)
- {
- DataView dvw = dtab.Copy().DefaultView;
- if (pNode.Key != "")
- dvw.RowFilter = "PARENTID='" + pNode.Key + "'";
- else
- dvw.RowFilter = "PARENTID is null";
- dvw.Sort = "XH ASC";
- foreach (DataRowView drow in dvw)
- {
- UltraTreeNode tNode = pNode.Nodes.Add(drow["ID_"].ToString(), drow["CAPTION"].ToString());
- AddMenuNode(tNode, dtab);
- }
- }
- void setNodeStyle(TreeNodesCollection nodes)
- {
- foreach (UltraTreeNode nd in nodes)
- {
- nd.Override.NodeAppearance.ForeColor = Color.Gray;
- if (nd.Nodes.Count > 0)
- setNodeStyle(nd.Nodes);
- }
- }
- void setMyNodeStyle(string sFindMenuID, TreeNodesCollection nodes)
- {
- foreach(UltraTreeNode nd in nodes)
- {
- if (nd.Key == sFindMenuID)
- {
- nd.Override.NodeAppearance.ForeColor = Color.Black;
- break;
- }
- else
- {
- if (nd.Nodes.Count > 0)
- setMyNodeStyle(sFindMenuID, nd.Nodes);
- }
- }
- }
- }
- }
|