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