frmMyMenuInfo.cs 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using Infragistics.Win.UltraWinTree;
  9. using Core.Mes.ClientFrameWork;
  10. namespace Core.Mes.ClientManager
  11. {
  12. public partial class frmMyMenuInfo : Form
  13. {
  14. public frmMyMenuInfo()
  15. {
  16. InitializeComponent();
  17. }
  18. private void frmMyMenuInfo_Load(object sender, EventArgs e)
  19. {
  20. string err = "";
  21. object obj = ClientCommon._RemotingHelp.ExecuteMethod("ServerCommon", "Core.Mes.ServerCommon.UserInfoManager", "selectPT_MenuInfo",
  22. new object [] {}, out err);
  23. if (err == "")
  24. {
  25. DataTable dtMenuPos = ((DataSet)obj).Tables[0];
  26. dtMenuPos.PrimaryKey = new DataColumn[] { dtMenuPos.Columns[0] };
  27. UltraTreeNode rootNode = ultraTree1.Nodes.Add("", "/");
  28. AddMenuNode(rootNode, dtMenuPos.Copy());
  29. ultraTree1.Nodes[0].Selected = true;
  30. ultraTree1.Nodes[0].Expanded = true;
  31. setNodeStyle(ultraTree1.Nodes);
  32. }
  33. obj = ClientCommon._RemotingHelp.ExecuteMethod("ServerCommon", "Core.Mes.ServerCommon.UserInfoManager", "GetPurviewTree",
  34. new object[] { "AND ROLEID='"+ClientCommon._UserInfo.UserRoleID+"'" }, out err);
  35. if (err == "")
  36. {
  37. DataTable dtUserMenu = ((DataSet)obj).Tables[0];
  38. for (int i = 0; i < dtUserMenu.Rows.Count; i++)
  39. {
  40. setMyNodeStyle(dtUserMenu.Rows[i]["MENUID"].ToString(), ultraTree1.Nodes[0].Nodes);
  41. }
  42. }
  43. ultraTree1.ExpandAll();
  44. }
  45. void AddMenuNode(UltraTreeNode pNode, DataTable dtab)
  46. {
  47. DataView dvw = dtab.Copy().DefaultView;
  48. if (pNode.Key != "")
  49. dvw.RowFilter = "PARENTID='" + pNode.Key + "'";
  50. else
  51. dvw.RowFilter = "PARENTID is null";
  52. dvw.Sort = "XH ASC";
  53. foreach (DataRowView drow in dvw)
  54. {
  55. UltraTreeNode tNode = pNode.Nodes.Add(drow["ID_"].ToString(), drow["CAPTION"].ToString());
  56. AddMenuNode(tNode, dtab);
  57. }
  58. }
  59. void setNodeStyle(TreeNodesCollection nodes)
  60. {
  61. foreach (UltraTreeNode nd in nodes)
  62. {
  63. nd.Override.NodeAppearance.ForeColor = Color.Gray;
  64. if (nd.Nodes.Count > 0)
  65. setNodeStyle(nd.Nodes);
  66. }
  67. }
  68. void setMyNodeStyle(string sFindMenuID, TreeNodesCollection nodes)
  69. {
  70. foreach(UltraTreeNode nd in nodes)
  71. {
  72. if (nd.Key == sFindMenuID)
  73. {
  74. nd.Override.NodeAppearance.ForeColor = Color.Black;
  75. break;
  76. }
  77. else
  78. {
  79. if (nd.Nodes.Count > 0)
  80. setMyNodeStyle(sFindMenuID, nd.Nodes);
  81. }
  82. }
  83. }
  84. }
  85. }