DicPage.aspx.cs 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. using BizCom;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Linq;
  6. using System.Reflection;
  7. using System.Text;
  8. using System.Web;
  9. using System.Web.UI;
  10. using System.Web.UI.WebControls;
  11. using SiteCore;
  12. public partial class DicPage : BasePage
  13. {
  14. private DicSysBase dicSysBase;
  15. private string cType;
  16. System.Data.DataView dv = null;
  17. string TreeSelValue = "127";
  18. string rootTitle = "选择模块";
  19. string rootName = "根结点";
  20. protected void Page_Load(object sender, EventArgs e)
  21. {
  22. //判断权限
  23. //if (!CheckRights()) return;
  24. cType = GetString("t");
  25. hClass.Value = cType;
  26. //if (cType.Equals(""))
  27. //{
  28. // ShowErrorPage();
  29. // return;
  30. //}
  31. //string cn = getDicClassName(cType);
  32. //if (cn == "")
  33. //{
  34. // ShowErrorPage();
  35. // return;
  36. //}
  37. dicSysBase = (DicSysBase)GetReflectionObject(cType);
  38. PageInit();
  39. if (!Page.IsPostBack)
  40. {
  41. int mId = GetInt("mId");
  42. TreeSelValue = mId.ToString();
  43. initTree();
  44. transDataBind();
  45. }
  46. }
  47. public void PageInit()
  48. {
  49. switch (cType.ToLower())
  50. {
  51. case "ceerporganization":
  52. {
  53. selShop.Visible = true;
  54. designTable.Visible = true;
  55. selOld.Visible = true;
  56. break;
  57. }
  58. case "ceerpmodular":
  59. case "serpmodular":
  60. case "xmodular":
  61. {
  62. trOperate.Visible = true;
  63. trUrl.Visible = true;
  64. trTag.Visible = true;
  65. trIcon.Visible = true;
  66. btnBuild.Visible = true;
  67. break;
  68. }
  69. case "hoststation":
  70. {
  71. trHostFieldName.Visible = true;
  72. trHostName.Visible = true;
  73. trMaxStock.Visible = true;
  74. trWaringStock.Visible = true;
  75. break;
  76. }
  77. default:
  78. {
  79. trOperate.Visible = false;
  80. trUrl.Visible = false;
  81. trTag.Visible = false;
  82. break;
  83. }
  84. }
  85. }
  86. #region lefttree
  87. private void initTree()
  88. {
  89. StringBuilder str = new StringBuilder();
  90. str.AppendFormat("treeData={0};", GetTreeData());
  91. if (TreeSelValue != "") str.AppendFormat("treeSel=\"{0}\";", TreeSelValue);
  92. litTree.Text = "<script type=\"text/javascript\">" + str.ToString() + "</script>";
  93. }
  94. DataTable resources = null;
  95. public string GetTreeData()
  96. {
  97. resources = dicSysBase.GetDataTable();
  98. dv = new System.Data.DataView(resources);
  99. StringBuilder str = new StringBuilder();
  100. str.Append("[");
  101. if (cType == "org")
  102. {
  103. dv.RowFilter = "ParentID=0";
  104. str.Append("{\"id\":\"" + dv[0]["ID"] + "\",\"name\":\"" + dv[0]["Name"] + "\",\"expanded\": true}");
  105. GetTree(ref str, dv[0]["ID"], 0);
  106. }
  107. else
  108. {
  109. str.Append("{\"id\":\"0\",\"name\":\"" + dicSysBase.rootName + "\",\"expanded\": true}");
  110. GetTree(ref str, 0, 0);
  111. }
  112. str.Append("]");
  113. return str.ToString();
  114. }
  115. private void GetTree(ref StringBuilder str, object parentID, int idx)
  116. {
  117. dv.RowFilter = "ParentID=" + parentID;
  118. dv.Sort = "Sort asc";
  119. if (dv.Count < 1)
  120. {
  121. return;
  122. }
  123. foreach (DataRowView drv in dv)
  124. {
  125. str.Append(",{");
  126. str.AppendFormat("\"id\":\"{0}\",\"name\":\"{1}\",\"pid\":\"{2}\",\"expanded\": {3}", drv["ID"], drv["Name"], parentID, "false");
  127. str.Append("}");
  128. GetTree(ref str, drv["ID"], 2);
  129. idx++;
  130. }
  131. }
  132. #endregion
  133. private void transDataBind()
  134. {
  135. DataTable dt = null;
  136. if (cType == "modular")
  137. {
  138. dt = XModular.GetModularNoOperate();
  139. }
  140. else
  141. {
  142. dt = resources;
  143. }
  144. System.Data.DataView dv = new System.Data.DataView(dt);
  145. getTransTree(dv, 0);
  146. }
  147. private void getTransTree(System.Data.DataView dv, object id)
  148. {
  149. dv.RowFilter = "parentid=" + id;
  150. foreach (DataRowView dr in dv)
  151. {
  152. selTrans.Items.Add(new System.Web.UI.WebControls.ListItem(getNodeName(dr["Name"], dr["Path"]), dr["ID"].ToString()));
  153. getTransTree(dv, dr["ID"]);
  154. }
  155. }
  156. private string getNodeName(object name, object path)
  157. {
  158. if (path.ToString() == "") return name.ToString();
  159. int len = path.ToString().Split('|').Length - 2;
  160. return "".PadLeft(len, ' ') + name;
  161. }
  162. }