| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- 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);
- }
- }
- }
- }
- }
|