d00e9c9a94b83dbd831f9be9a4cb7a91710c6704.svn-base 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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. }