PostManage.aspx.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. using BizCom;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Web;
  8. using System.Web.UI;
  9. using System.Web.UI.WebControls;
  10. using SiteCore;
  11. public partial class Ehr_PostManage :TreeBasePage,ITreePage
  12. {
  13. protected override void OnPreInit(EventArgs e)
  14. {
  15. PmTag = "postmanage";
  16. TreeTitle = "选择组织机构";
  17. ContentTitle = "职位";
  18. TreeSelValue = "0";
  19. }
  20. protected void Page_Load(object sender, EventArgs e)
  21. {
  22. //权限
  23. if (_permissions.Contains("add")) btnAdd.Visible = true;
  24. if (!IsPostBack)
  25. {
  26. //if (CurrentUser.IsAdmin)
  27. //{
  28. // tr_module.Visible = true;
  29. // modulesDataBind();
  30. //}
  31. }
  32. }
  33. #region 左边数据
  34. System.Data.DataView dv = null;
  35. public object GetTreeData()
  36. {
  37. StringBuilder str = new StringBuilder();
  38. str.Append("[");
  39. DataTable resources = CeErpOrganization.Get();
  40. int i = 0;
  41. if (resources != null && resources.Rows.Count > 0)
  42. {
  43. dv = new System.Data.DataView(resources);
  44. dv.RowFilter = "parentid=0";
  45. foreach (DataRowView drv in dv)
  46. {
  47. if (i == 0)
  48. {
  49. TreeSelValue = drv["ID"];
  50. str.Append("{");
  51. }
  52. else str.Append(",{");
  53. str.AppendFormat("\"id\":\"{0}\",\"name\":\"{1}\",\"path\":\"\",\"expanded\": true", drv["ID"], drv["Name"]);
  54. str.Append("}");
  55. GetOtherTree(drv["ID"], ref str);
  56. i++;
  57. }
  58. }
  59. str.Append("]");
  60. return str.ToString();
  61. }
  62. private void GetOtherTree(object id, ref StringBuilder str)
  63. {
  64. dv.RowFilter = "ParentID=" + id;
  65. dv.Sort = "Sort asc";
  66. if (dv.Count < 1)
  67. {
  68. return;
  69. }
  70. foreach (DataRowView drv in dv)
  71. {
  72. str.Append(",{");
  73. str.AppendFormat("\"id\":\"{0}\",\"name\":\"{1}\",\"pid\":\"{2}\",\"path\":\"{3}\",\"expanded\": true", drv["ID"], drv["Name"], drv["ParentID"],drv["Path"]);
  74. str.Append("}");
  75. GetOtherTree(drv["ID"], ref str);
  76. }
  77. }
  78. #endregion
  79. private void modulesDataBind()
  80. {
  81. DataTable dt = CeErpModular.GetModularNoOperate();
  82. System.Data.DataView dv = new System.Data.DataView(dt);
  83. selModules.Items.Add(new System.Web.UI.WebControls.ListItem("--请选择--", "0"));
  84. getModulesTree(dv, 0);
  85. }
  86. private void getModulesTree(System.Data.DataView dv, object id)
  87. {
  88. dv.RowFilter = "parentid=" + id;
  89. foreach (DataRowView dr in dv)
  90. {
  91. selModules.Items.Add(new System.Web.UI.WebControls.ListItem(getNodeName(dr["Name"], dr["Path"]), dr["ID"].ToString()));
  92. getModulesTree(dv, dr["ID"]);
  93. }
  94. }
  95. private string getNodeName(object name, object path)
  96. {
  97. if (path.ToString() == "") return name.ToString();
  98. int len = path.ToString().Split('|').Length - 2;
  99. return "".PadLeft(len, ' ') + name;
  100. }
  101. }