SelectSystem.aspx.cs
上传用户:tree100901
上传日期:2007-06-03
资源大小:2295k
文件大小:4k
源码类别:

OA系统

开发平台:

C#

  1. using System;
  2. using System.Collections;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Data.SqlClient;
  6. using System.Drawing;
  7. using System.Web;
  8. using System.Web.SessionState;
  9. using System.Web.UI;
  10. using System.Web.UI.WebControls;
  11. using System.Web.UI.HtmlControls;
  12. namespace OA
  13. {
  14. /// <summary>
  15. /// SelectSystem 的摘要说明。
  16. /// </summary>
  17. public class SelectSystem : System.Web.UI.Page
  18. {
  19. protected Microsoft.Web.UI.WebControls.TreeView TreeView1;
  20. protected System.Web.UI.WebControls.ListBox Target;
  21. protected System.Web.UI.WebControls.Button Send;
  22. protected System.Web.UI.HtmlControls.HtmlInputButton Add;
  23. protected System.Web.UI.HtmlControls.HtmlInputButton Remove;
  24. protected System.Web.UI.HtmlControls.HtmlInputButton Removeall;
  25. protected System.Data.SqlClient.SqlConnection MyConnection;
  26. protected System.Data.SqlClient.SqlDataAdapter MyCommand;
  27. protected System.Data.DataSet ds;
  28. private void Page_Load(object sender, System.EventArgs e)
  29. {
  30. if (Page.IsPostBack)
  31. {
  32. if(Request.Form["Isdbclick"].ToString()=="true")
  33. Add_SigleClick();
  34. }
  35. if(!IsPostBack)
  36. {
  37. MyConnection=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
  38. MyConnection.Open();
  39. ds= new DataSet();
  40. SqlDataAdapter MyCommand0=new SqlDataAdapter("SystemSelect",MyConnection);
  41. MyCommand0.SelectCommand.CommandType = CommandType.StoredProcedure;
  42. MyCommand0.Fill(ds,"System");
  43. for(int i = 0; i<ds.Tables["System"].Rows.Count; i++)
  44. {
  45. Microsoft.Web.UI.WebControls.TreeNode tree1 = new Microsoft.Web.UI.WebControls.TreeNode();
  46. tree1.ID = ds.Tables["System"].Rows[i]["SystemID"].ToString();
  47. tree1.Text = ds.Tables["System"].Rows[i]["SystemName"].ToString();
  48. TreeView1.Nodes.Add(tree1);
  49. }
  50. } // 在此处放置用户代码以初始化页面
  51. }
  52. private void Add_SigleClick()
  53. {
  54. Microsoft.Web.UI.WebControls.TreeNode tmpNode = new Microsoft.Web.UI.WebControls.TreeNode();
  55. tmpNode = TreeView1.GetNodeFromIndex(TreeView1.SelectedNodeIndex);
  56. AddTarget(tmpNode);
  57. }
  58. private void Add_ServerClick(object sender, System.EventArgs e)
  59. {
  60. Microsoft.Web.UI.WebControls.TreeNode tmpNode = new Microsoft.Web.UI.WebControls.TreeNode();
  61. tmpNode = TreeView1.GetNodeFromIndex(TreeView1.SelectedNodeIndex);
  62. AddTarget(tmpNode);
  63. }
  64. private void Remove_ServerClick(object sender, System.EventArgs e)
  65. {
  66. Target.Items.Remove(Target.SelectedItem);
  67. }
  68. private void Removeall_ServerClick(object sender, System.EventArgs e)
  69. {
  70. Target.Items.Clear();
  71. }
  72. private void AddTarget(Microsoft.Web.UI.WebControls.TreeNode node)
  73. {
  74. if(node.Nodes.Count>0)
  75. {
  76. foreach(Microsoft.Web.UI.WebControls.TreeNode tempNode in node.Nodes)
  77. {
  78. AddTarget(tempNode);
  79. }
  80. }
  81. else
  82. {
  83. if(node.ID!="000")
  84. {
  85. ListItem crItem = null;
  86. String searchText = node.Text+"("+node.ID+")";
  87. crItem = Target.Items.FindByText(searchText);
  88. if(crItem == null)
  89. Target.Items.Add(new ListItem(node.Text+"("+node.ID+")"));
  90. else
  91. RegisterStartupScript("alert","<script>alert('列表项中"+crItem.Text+"已存在!')</script>");
  92. }
  93. }
  94. }
  95. #region Web 窗体设计器生成的代码
  96. override protected void OnInit(EventArgs e)
  97. {
  98. //
  99. // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
  100. //
  101. InitializeComponent();
  102. base.OnInit(e);
  103. }
  104. /// <summary>
  105. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  106. /// 此方法的内容。
  107. /// </summary>
  108. private void InitializeComponent()
  109. {    
  110. this.Send.Click += new System.EventHandler(this.Send_Click);
  111. this.Add.ServerClick += new System.EventHandler(this.Add_ServerClick);
  112. this.Remove.ServerClick += new System.EventHandler(this.Remove_ServerClick);
  113. this.Removeall.ServerClick += new System.EventHandler(this.Removeall_ServerClick);
  114. this.Load += new System.EventHandler(this.Page_Load);
  115. }
  116. #endregion
  117. private void Send_Click(object sender, System.EventArgs e)
  118. {
  119. if(Target.Items.Count>0)
  120. {
  121. string str ="";
  122. foreach(ListItem item in Target.Items)
  123. {
  124. str += ","+item.Text;
  125. }
  126. str = str.Substring(1);
  127. Response.Write("<script>window.returnValue='"+str+"';window.close();</script>");
  128. }
  129. else
  130. RegisterStartupScript("alert","<script>alert('你未选择任何列表项!')</script>");
  131. }
  132. }
  133. }