BomForm.cs
上传用户:hjieqiu
上传日期:2013-05-11
资源大小:16494k
文件大小:39k
源码类别:

企业管理

开发平台:

C#

  1. using System;
  2. using System.Drawing;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Windows.Forms;
  6. using System.Data;
  7. using System.Data.SqlClient;
  8. namespace 生产管理系统
  9. {
  10. /// <summary>
  11. /// BomForm 的摘要说明。
  12. /// </summary>
  13. public class BomForm : System.Windows.Forms.Form
  14. {
  15. private DataTable tblBom=new DataTable();
  16. private int curStatus=0;//在提交判断当前状态是新增还是修改,以使用不同的SQL语句,0代表普通状态
  17. public static string mID,mName;//保存物料编号和名称
  18. private System.Windows.Forms.TreeView treeView1;
  19. private System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1;
  20. private System.Data.SqlClient.SqlCommand sqlSelectCommand1;
  21. private System.Data.SqlClient.SqlCommand sqlInsertCommand1;
  22. private System.Data.SqlClient.SqlCommand sqlUpdateCommand1;
  23. private System.Data.SqlClient.SqlCommand sqlDeleteCommand1;
  24. private System.Data.SqlClient.SqlConnection sqlConnection1;
  25. private System.Windows.Forms.ToolBar toolBar1;
  26. private System.Windows.Forms.ToolBarButton tBtnNew;
  27. private System.Windows.Forms.ToolBarButton tBtnEdit;
  28. private System.Windows.Forms.ToolBarButton tBtnDelete;
  29. private System.Windows.Forms.ToolBarButton tBtnSubmit;
  30. private System.Windows.Forms.ToolBarButton tBtnCancel;
  31. private System.Windows.Forms.ToolBarButton tBtnQuit;
  32. private System.Windows.Forms.ImageList imageList1;
  33. private System.Windows.Forms.GroupBox groupBox1;
  34. private System.Windows.Forms.Label label1;
  35. private System.Windows.Forms.TextBox txt1;
  36. private System.Windows.Forms.TextBox txt2;
  37. private System.Windows.Forms.TextBox txt4;
  38. private System.Windows.Forms.TextBox txt3;
  39. private System.Windows.Forms.TextBox txt6;
  40. private System.Windows.Forms.TextBox txt5;
  41. private System.Windows.Forms.TextBox txt8;
  42. private System.Windows.Forms.TextBox txt7;
  43. private System.Windows.Forms.TextBox txt9;
  44. private System.Windows.Forms.TextBox txt10;
  45. private System.Windows.Forms.Label label2;
  46. private System.Windows.Forms.Label label3;
  47. private System.Windows.Forms.Label label4;
  48. private System.Windows.Forms.Label label5;
  49. private System.Windows.Forms.Label label6;
  50. private System.Windows.Forms.Label label7;
  51. private System.Windows.Forms.Label label8;
  52. private System.Windows.Forms.Label label9;
  53. private System.Windows.Forms.Label label10;
  54. private System.Windows.Forms.Button selBtn1;
  55. private System.ComponentModel.IContainer components;
  56. public BomForm()
  57. {
  58. //
  59. // Windows 窗体设计器支持所必需的
  60. //
  61. InitializeComponent();
  62. //
  63. // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
  64. //
  65. }
  66. /// <summary>
  67. /// 清理所有正在使用的资源。
  68. /// </summary>
  69. protected override void Dispose( bool disposing )
  70. {
  71. if( disposing )
  72. {
  73. if(components != null)
  74. {
  75. components.Dispose();
  76. }
  77. }
  78. base.Dispose( disposing );
  79. }
  80. #region Windows 窗体设计器生成的代码
  81. /// <summary>
  82. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  83. /// 此方法的内容。
  84. /// </summary>
  85. private void InitializeComponent()
  86. {
  87. this.components = new System.ComponentModel.Container();
  88. System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(BomForm));
  89. this.treeView1 = new System.Windows.Forms.TreeView();
  90. this.sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter();
  91. this.sqlDeleteCommand1 = new System.Data.SqlClient.SqlCommand();
  92. this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();
  93. this.sqlInsertCommand1 = new System.Data.SqlClient.SqlCommand();
  94. this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand();
  95. this.sqlUpdateCommand1 = new System.Data.SqlClient.SqlCommand();
  96. this.toolBar1 = new System.Windows.Forms.ToolBar();
  97. this.tBtnNew = new System.Windows.Forms.ToolBarButton();
  98. this.tBtnEdit = new System.Windows.Forms.ToolBarButton();
  99. this.tBtnDelete = new System.Windows.Forms.ToolBarButton();
  100. this.tBtnSubmit = new System.Windows.Forms.ToolBarButton();
  101. this.tBtnCancel = new System.Windows.Forms.ToolBarButton();
  102. this.tBtnQuit = new System.Windows.Forms.ToolBarButton();
  103. this.imageList1 = new System.Windows.Forms.ImageList(this.components);
  104. this.groupBox1 = new System.Windows.Forms.GroupBox();
  105. this.selBtn1 = new System.Windows.Forms.Button();
  106. this.label1 = new System.Windows.Forms.Label();
  107. this.txt1 = new System.Windows.Forms.TextBox();
  108. this.txt2 = new System.Windows.Forms.TextBox();
  109. this.txt4 = new System.Windows.Forms.TextBox();
  110. this.txt3 = new System.Windows.Forms.TextBox();
  111. this.txt6 = new System.Windows.Forms.TextBox();
  112. this.txt5 = new System.Windows.Forms.TextBox();
  113. this.txt8 = new System.Windows.Forms.TextBox();
  114. this.txt7 = new System.Windows.Forms.TextBox();
  115. this.txt9 = new System.Windows.Forms.TextBox();
  116. this.txt10 = new System.Windows.Forms.TextBox();
  117. this.label2 = new System.Windows.Forms.Label();
  118. this.label3 = new System.Windows.Forms.Label();
  119. this.label4 = new System.Windows.Forms.Label();
  120. this.label5 = new System.Windows.Forms.Label();
  121. this.label6 = new System.Windows.Forms.Label();
  122. this.label7 = new System.Windows.Forms.Label();
  123. this.label8 = new System.Windows.Forms.Label();
  124. this.label9 = new System.Windows.Forms.Label();
  125. this.label10 = new System.Windows.Forms.Label();
  126. this.groupBox1.SuspendLayout();
  127. this.SuspendLayout();
  128. // 
  129. // treeView1
  130. // 
  131. this.treeView1.ImageIndex = -1;
  132. this.treeView1.Location = new System.Drawing.Point(0, 48);
  133. this.treeView1.Name = "treeView1";
  134. this.treeView1.SelectedImageIndex = -1;
  135. this.treeView1.Size = new System.Drawing.Size(192, 392);
  136. this.treeView1.TabIndex = 0;
  137. this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect);
  138. // 
  139. // sqlDataAdapter1
  140. // 
  141. this.sqlDataAdapter1.DeleteCommand = this.sqlDeleteCommand1;
  142. this.sqlDataAdapter1.InsertCommand = this.sqlInsertCommand1;
  143. this.sqlDataAdapter1.SelectCommand = this.sqlSelectCommand1;
  144. this.sqlDataAdapter1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
  145.   new System.Data.Common.DataTableMapping("Table", "物料清单", new System.Data.Common.DataColumnMapping[] {
  146.   new System.Data.Common.DataColumnMapping("父项编号", "父项编号"),
  147.   new System.Data.Common.DataColumnMapping("物料编号", "物料编号"),
  148.   new System.Data.Common.DataColumnMapping("需要数量", "需要数量"),
  149.   new System.Data.Common.DataColumnMapping("领料车间", "领料车间"),
  150.   new System.Data.Common.DataColumnMapping("领料库房", "领料库房"),
  151.   new System.Data.Common.DataColumnMapping("损耗率", "损耗率"),
  152.   new System.Data.Common.DataColumnMapping("bom状态", "bom状态"),
  153.   new System.Data.Common.DataColumnMapping("bom信息状态", "bom信息状态"),
  154.   new System.Data.Common.DataColumnMapping("审核者", "审核者"),
  155.   new System.Data.Common.DataColumnMapping("审核日期", "审核日期"),
  156.   new System.Data.Common.DataColumnMapping("其它事项", "其它事项"),
  157.   new System.Data.Common.DataColumnMapping("低层码", "低层码"),
  158.   new System.Data.Common.DataColumnMapping("展开标记", "展开标记")})});
  159. this.sqlDataAdapter1.UpdateCommand = this.sqlUpdateCommand1;
  160. // 
  161. // sqlDeleteCommand1
  162. // 
  163. this.sqlDeleteCommand1.CommandText = @"DELETE FROM 物料清单 WHERE (父项编号 = @Original_父项编号) AND (物料编号 = @Original_物料编号) AND (bom信息状态 = @Original_bom信息状态 OR @Original_bom信息状态 IS NULL AND bom信息状态 IS NULL) AND (bom状态 = @Original_bom状态 OR @Original_bom状态 IS NULL AND bom状态 IS NULL) AND (低层码 = @Original_低层码 OR @Original_低层码 IS NULL AND 低层码 IS NULL) AND (审核日期 = @Original_审核日期 OR @Original_审核日期 IS NULL AND 审核日期 IS NULL) AND (审核者 = @Original_审核者 OR @Original_审核者 IS NULL AND 审核者 IS NULL) AND (展开标记 = @Original_展开标记 OR @Original_展开标记 IS NULL AND 展开标记 IS NULL) AND (损耗率 = @Original_损耗率 OR @Original_损耗率 IS NULL AND 损耗率 IS NULL) AND (需要数量 = @Original_需要数量) AND (领料库房 = @Original_领料库房 OR @Original_领料库房 IS NULL AND 领料库房 IS NULL) AND (领料车间 = @Original_领料车间 OR @Original_领料车间 IS NULL AND 领料车间 IS NULL)";
  164. this.sqlDeleteCommand1.Connection = this.sqlConnection1;
  165. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_父项编号", System.Data.SqlDbType.VarChar, 14, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "父项编号", System.Data.DataRowVersion.Original, null));
  166. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_物料编号", System.Data.SqlDbType.VarChar, 14, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "物料编号", System.Data.DataRowVersion.Original, null));
  167. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_bom信息状态", System.Data.SqlDbType.VarChar, 1, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "bom信息状态", System.Data.DataRowVersion.Original, null));
  168. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_bom状态", System.Data.SqlDbType.VarChar, 1, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "bom状态", System.Data.DataRowVersion.Original, null));
  169. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_低层码", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "低层码", System.Data.DataRowVersion.Original, null));
  170. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_审核日期", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "审核日期", System.Data.DataRowVersion.Original, null));
  171. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_审核者", System.Data.SqlDbType.VarChar, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "审核者", System.Data.DataRowVersion.Original, null));
  172. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_展开标记", System.Data.SqlDbType.Bit, 1, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "展开标记", System.Data.DataRowVersion.Original, null));
  173. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_损耗率", System.Data.SqlDbType.Decimal, 5, System.Data.ParameterDirection.Input, false, ((System.Byte)(5)), ((System.Byte)(4)), "损耗率", System.Data.DataRowVersion.Original, null));
  174. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_需要数量", System.Data.SqlDbType.Decimal, 9, System.Data.ParameterDirection.Input, false, ((System.Byte)(18)), ((System.Byte)(4)), "需要数量", System.Data.DataRowVersion.Original, null));
  175. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_领料库房", System.Data.SqlDbType.VarChar, 10, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "领料库房", System.Data.DataRowVersion.Original, null));
  176. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_领料车间", System.Data.SqlDbType.VarChar, 10, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "领料车间", System.Data.DataRowVersion.Original, null));
  177. // 
  178. // sqlConnection1
  179. // 
  180. this.sqlConnection1.ConnectionString = "workstation id=localhost;Integrated Security=SSPI;Database=mrpbook;";
  181. // 
  182. // sqlInsertCommand1
  183. // 
  184. this.sqlInsertCommand1.CommandText = @"INSERT INTO 物料清单(父项编号, 物料编号, 需要数量, 领料车间, 领料库房, 损耗率, bom状态, bom信息状态, 审核者, 审核日期, 其它事项, 低层码, 展开标记) VALUES (@父项编号, @物料编号, @需要数量, @领料车间, @领料库房, @损耗率, @bom状态, @bom信息状态, @审核者, @审核日期, @其它事项, @低层码, @展开标记); SELECT 父项编号, 物料编号, 需要数量, 领料车间, 领料库房, 损耗率, bom状态, bom信息状态, 审核者, 审核日期, 其它事项, 低层码, 展开标记 FROM 物料清单 WHERE (父项编号 = @父项编号) AND (物料编号 = @物料编号)";
  185. this.sqlInsertCommand1.Connection = this.sqlConnection1;
  186. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@父项编号", System.Data.SqlDbType.VarChar, 14, "父项编号"));
  187. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@物料编号", System.Data.SqlDbType.VarChar, 14, "物料编号"));
  188. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@需要数量", System.Data.SqlDbType.Decimal, 9, System.Data.ParameterDirection.Input, false, ((System.Byte)(18)), ((System.Byte)(4)), "需要数量", System.Data.DataRowVersion.Current, null));
  189. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@领料车间", System.Data.SqlDbType.VarChar, 10, "领料车间"));
  190. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@领料库房", System.Data.SqlDbType.VarChar, 10, "领料库房"));
  191. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@损耗率", System.Data.SqlDbType.Decimal, 5, System.Data.ParameterDirection.Input, false, ((System.Byte)(5)), ((System.Byte)(4)), "损耗率", System.Data.DataRowVersion.Current, null));
  192. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@bom状态", System.Data.SqlDbType.VarChar, 1, "bom状态"));
  193. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@bom信息状态", System.Data.SqlDbType.VarChar, 1, "bom信息状态"));
  194. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@审核者", System.Data.SqlDbType.VarChar, 8, "审核者"));
  195. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@审核日期", System.Data.SqlDbType.Int, 4, "审核日期"));
  196. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@其它事项", System.Data.SqlDbType.VarChar, 2147483647, "其它事项"));
  197. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@低层码", System.Data.SqlDbType.Int, 4, "低层码"));
  198. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@展开标记", System.Data.SqlDbType.Bit, 1, "展开标记"));
  199. // 
  200. // sqlSelectCommand1
  201. // 
  202. this.sqlSelectCommand1.CommandText = "SELECT 父项编号, 物料编号, 需要数量, 领料车间, 领料库房, 损耗率, bom状态, bom信息状态, 审核者, 审核日期, 其它事项, 低层码, 展" +
  203. "开标记 FROM 物料清单";
  204. this.sqlSelectCommand1.Connection = this.sqlConnection1;
  205. // 
  206. // sqlUpdateCommand1
  207. // 
  208. this.sqlUpdateCommand1.CommandText = @"UPDATE 物料清单 SET 父项编号 = @父项编号, 物料编号 = @物料编号, 需要数量 = @需要数量, 领料车间 = @领料车间, 领料库房 = @领料库房, 损耗率 = @损耗率, bom状态 = @bom状态, bom信息状态 = @bom信息状态, 审核者 = @审核者, 审核日期 = @审核日期, 其它事项 = @其它事项, 低层码 = @低层码, 展开标记 = @展开标记 WHERE (父项编号 = @Original_父项编号) AND (物料编号 = @Original_物料编号) AND (bom信息状态 = @Original_bom信息状态 OR @Original_bom信息状态 IS NULL AND bom信息状态 IS NULL) AND (bom状态 = @Original_bom状态 OR @Original_bom状态 IS NULL AND bom状态 IS NULL) AND (低层码 = @Original_低层码 OR @Original_低层码 IS NULL AND 低层码 IS NULL) AND (审核日期 = @Original_审核日期 OR @Original_审核日期 IS NULL AND 审核日期 IS NULL) AND (审核者 = @Original_审核者 OR @Original_审核者 IS NULL AND 审核者 IS NULL) AND (展开标记 = @Original_展开标记 OR @Original_展开标记 IS NULL AND 展开标记 IS NULL) AND (损耗率 = @Original_损耗率 OR @Original_损耗率 IS NULL AND 损耗率 IS NULL) AND (需要数量 = @Original_需要数量) AND (领料库房 = @Original_领料库房 OR @Original_领料库房 IS NULL AND 领料库房 IS NULL) AND (领料车间 = @Original_领料车间 OR @Original_领料车间 IS NULL AND 领料车间 IS NULL); SELECT 父项编号, 物料编号, 需要数量, 领料车间, 领料库房, 损耗率, bom状态, bom信息状态, 审核者, 审核日期, 其它事项, 低层码, 展开标记 FROM 物料清单 WHERE (父项编号 = @父项编号) AND (物料编号 = @物料编号)";
  209. this.sqlUpdateCommand1.Connection = this.sqlConnection1;
  210. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@父项编号", System.Data.SqlDbType.VarChar, 14, "父项编号"));
  211. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@物料编号", System.Data.SqlDbType.VarChar, 14, "物料编号"));
  212. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@需要数量", System.Data.SqlDbType.Decimal, 9, System.Data.ParameterDirection.Input, false, ((System.Byte)(18)), ((System.Byte)(4)), "需要数量", System.Data.DataRowVersion.Current, null));
  213. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@领料车间", System.Data.SqlDbType.VarChar, 10, "领料车间"));
  214. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@领料库房", System.Data.SqlDbType.VarChar, 10, "领料库房"));
  215. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@损耗率", System.Data.SqlDbType.Decimal, 5, System.Data.ParameterDirection.Input, false, ((System.Byte)(5)), ((System.Byte)(4)), "损耗率", System.Data.DataRowVersion.Current, null));
  216. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@bom状态", System.Data.SqlDbType.VarChar, 1, "bom状态"));
  217. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@bom信息状态", System.Data.SqlDbType.VarChar, 1, "bom信息状态"));
  218. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@审核者", System.Data.SqlDbType.VarChar, 8, "审核者"));
  219. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@审核日期", System.Data.SqlDbType.Int, 4, "审核日期"));
  220. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@其它事项", System.Data.SqlDbType.VarChar, 2147483647, "其它事项"));
  221. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@低层码", System.Data.SqlDbType.Int, 4, "低层码"));
  222. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@展开标记", System.Data.SqlDbType.Bit, 1, "展开标记"));
  223. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_父项编号", System.Data.SqlDbType.VarChar, 14, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "父项编号", System.Data.DataRowVersion.Original, null));
  224. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_物料编号", System.Data.SqlDbType.VarChar, 14, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "物料编号", System.Data.DataRowVersion.Original, null));
  225. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_bom信息状态", System.Data.SqlDbType.VarChar, 1, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "bom信息状态", System.Data.DataRowVersion.Original, null));
  226. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_bom状态", System.Data.SqlDbType.VarChar, 1, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "bom状态", System.Data.DataRowVersion.Original, null));
  227. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_低层码", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "低层码", System.Data.DataRowVersion.Original, null));
  228. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_审核日期", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "审核日期", System.Data.DataRowVersion.Original, null));
  229. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_审核者", System.Data.SqlDbType.VarChar, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "审核者", System.Data.DataRowVersion.Original, null));
  230. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_展开标记", System.Data.SqlDbType.Bit, 1, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "展开标记", System.Data.DataRowVersion.Original, null));
  231. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_损耗率", System.Data.SqlDbType.Decimal, 5, System.Data.ParameterDirection.Input, false, ((System.Byte)(5)), ((System.Byte)(4)), "损耗率", System.Data.DataRowVersion.Original, null));
  232. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_需要数量", System.Data.SqlDbType.Decimal, 9, System.Data.ParameterDirection.Input, false, ((System.Byte)(18)), ((System.Byte)(4)), "需要数量", System.Data.DataRowVersion.Original, null));
  233. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_领料库房", System.Data.SqlDbType.VarChar, 10, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "领料库房", System.Data.DataRowVersion.Original, null));
  234. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_领料车间", System.Data.SqlDbType.VarChar, 10, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "领料车间", System.Data.DataRowVersion.Original, null));
  235. // 
  236. // toolBar1
  237. // 
  238. this.toolBar1.Buttons.AddRange(new System.Windows.Forms.ToolBarButton[] {
  239. this.tBtnNew,
  240. this.tBtnEdit,
  241. this.tBtnDelete,
  242. this.tBtnSubmit,
  243. this.tBtnCancel,
  244. this.tBtnQuit});
  245. this.toolBar1.DropDownArrows = true;
  246. this.toolBar1.ImageList = this.imageList1;
  247. this.toolBar1.Location = new System.Drawing.Point(0, 0);
  248. this.toolBar1.Name = "toolBar1";
  249. this.toolBar1.ShowToolTips = true;
  250. this.toolBar1.Size = new System.Drawing.Size(600, 41);
  251. this.toolBar1.TabIndex = 26;
  252. this.toolBar1.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.toolBar1_ButtonClick);
  253. // 
  254. // tBtnNew
  255. // 
  256. this.tBtnNew.ImageIndex = 4;
  257. this.tBtnNew.Text = "新增";
  258. this.tBtnNew.ToolTipText = "新增";
  259. // 
  260. // tBtnEdit
  261. // 
  262. this.tBtnEdit.ImageIndex = 5;
  263. this.tBtnEdit.Text = "修改";
  264. this.tBtnEdit.ToolTipText = "修改";
  265. // 
  266. // tBtnDelete
  267. // 
  268. this.tBtnDelete.ImageIndex = 6;
  269. this.tBtnDelete.Text = "删除";
  270. this.tBtnDelete.ToolTipText = "删除";
  271. // 
  272. // tBtnSubmit
  273. // 
  274. this.tBtnSubmit.ImageIndex = 7;
  275. this.tBtnSubmit.Text = "提交";
  276. this.tBtnSubmit.ToolTipText = "提交";
  277. // 
  278. // tBtnCancel
  279. // 
  280. this.tBtnCancel.ImageIndex = 8;
  281. this.tBtnCancel.Text = "取消";
  282. this.tBtnCancel.ToolTipText = "取消";
  283. // 
  284. // tBtnQuit
  285. // 
  286. this.tBtnQuit.ImageIndex = 9;
  287. this.tBtnQuit.Text = "退出";
  288. this.tBtnQuit.ToolTipText = "退出";
  289. // 
  290. // imageList1
  291. // 
  292. this.imageList1.ImageSize = new System.Drawing.Size(16, 16);
  293. this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
  294. this.imageList1.TransparentColor = System.Drawing.SystemColors.ControlLightLight;
  295. // 
  296. // groupBox1
  297. // 
  298. this.groupBox1.Controls.Add(this.selBtn1);
  299. this.groupBox1.Controls.Add(this.label1);
  300. this.groupBox1.Controls.Add(this.txt1);
  301. this.groupBox1.Controls.Add(this.txt2);
  302. this.groupBox1.Controls.Add(this.txt4);
  303. this.groupBox1.Controls.Add(this.txt3);
  304. this.groupBox1.Controls.Add(this.txt6);
  305. this.groupBox1.Controls.Add(this.txt5);
  306. this.groupBox1.Controls.Add(this.txt8);
  307. this.groupBox1.Controls.Add(this.txt7);
  308. this.groupBox1.Controls.Add(this.txt9);
  309. this.groupBox1.Controls.Add(this.txt10);
  310. this.groupBox1.Controls.Add(this.label2);
  311. this.groupBox1.Controls.Add(this.label3);
  312. this.groupBox1.Controls.Add(this.label4);
  313. this.groupBox1.Controls.Add(this.label5);
  314. this.groupBox1.Controls.Add(this.label6);
  315. this.groupBox1.Controls.Add(this.label7);
  316. this.groupBox1.Controls.Add(this.label8);
  317. this.groupBox1.Controls.Add(this.label9);
  318. this.groupBox1.Controls.Add(this.label10);
  319. this.groupBox1.Location = new System.Drawing.Point(200, 48);
  320. this.groupBox1.Name = "groupBox1";
  321. this.groupBox1.Size = new System.Drawing.Size(384, 392);
  322. this.groupBox1.TabIndex = 27;
  323. this.groupBox1.TabStop = false;
  324. this.groupBox1.Text = "物料详细信息";
  325. // 
  326. // selBtn1
  327. // 
  328. this.selBtn1.Enabled = false;
  329. this.selBtn1.Image = ((System.Drawing.Image)(resources.GetObject("selBtn1.Image")));
  330. this.selBtn1.Location = new System.Drawing.Point(176, 72);
  331. this.selBtn1.Name = "selBtn1";
  332. this.selBtn1.Size = new System.Drawing.Size(24, 23);
  333. this.selBtn1.TabIndex = 51;
  334. this.selBtn1.Click += new System.EventHandler(this.selBtn1_Click);
  335. this.selBtn1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.selBtn1_MouseUp);
  336. // 
  337. // label1
  338. // 
  339. this.label1.Location = new System.Drawing.Point(70, 48);
  340. this.label1.Name = "label1";
  341. this.label1.Size = new System.Drawing.Size(100, 16);
  342. this.label1.TabIndex = 44;
  343. this.label1.Text = "物料编号";
  344. // 
  345. // txt1
  346. // 
  347. this.txt1.Location = new System.Drawing.Point(70, 72);
  348. this.txt1.Name = "txt1";
  349. this.txt1.ReadOnly = true;
  350. this.txt1.TabIndex = 35;
  351. this.txt1.Text = "";
  352. // 
  353. // txt2
  354. // 
  355. this.txt2.Location = new System.Drawing.Point(208, 72);
  356. this.txt2.Name = "txt2";
  357. this.txt2.ReadOnly = true;
  358. this.txt2.TabIndex = 34;
  359. this.txt2.Text = "";
  360. // 
  361. // txt4
  362. // 
  363. this.txt4.Location = new System.Drawing.Point(208, 128);
  364. this.txt4.Name = "txt4";
  365. this.txt4.ReadOnly = true;
  366. this.txt4.TabIndex = 37;
  367. this.txt4.Text = "";
  368. // 
  369. // txt3
  370. // 
  371. this.txt3.Location = new System.Drawing.Point(70, 128);
  372. this.txt3.Name = "txt3";
  373. this.txt3.ReadOnly = true;
  374. this.txt3.TabIndex = 36;
  375. this.txt3.Text = "";
  376. // 
  377. // txt6
  378. // 
  379. this.txt6.Location = new System.Drawing.Point(144, 176);
  380. this.txt6.Name = "txt6";
  381. this.txt6.ReadOnly = true;
  382. this.txt6.Size = new System.Drawing.Size(64, 21);
  383. this.txt6.TabIndex = 33;
  384. this.txt6.Text = "";
  385. // 
  386. // txt5
  387. // 
  388. this.txt5.Location = new System.Drawing.Point(72, 176);
  389. this.txt5.Name = "txt5";
  390. this.txt5.ReadOnly = true;
  391. this.txt5.Size = new System.Drawing.Size(64, 21);
  392. this.txt5.TabIndex = 29;
  393. this.txt5.Text = "";
  394. // 
  395. // txt8
  396. // 
  397. this.txt8.Location = new System.Drawing.Point(208, 224);
  398. this.txt8.Name = "txt8";
  399. this.txt8.ReadOnly = true;
  400. this.txt8.Size = new System.Drawing.Size(104, 21);
  401. this.txt8.TabIndex = 28;
  402. this.txt8.Text = "";
  403. // 
  404. // txt7
  405. // 
  406. this.txt7.Location = new System.Drawing.Point(72, 224);
  407. this.txt7.Name = "txt7";
  408. this.txt7.ReadOnly = true;
  409. this.txt7.Size = new System.Drawing.Size(112, 21);
  410. this.txt7.TabIndex = 30;
  411. this.txt7.Text = "";
  412. // 
  413. // txt9
  414. // 
  415. this.txt9.Location = new System.Drawing.Point(212, 176);
  416. this.txt9.Name = "txt9";
  417. this.txt9.ReadOnly = true;
  418. this.txt9.Size = new System.Drawing.Size(96, 21);
  419. this.txt9.TabIndex = 32;
  420. this.txt9.Text = "";
  421. // 
  422. // txt10
  423. // 
  424. this.txt10.Location = new System.Drawing.Point(72, 280);
  425. this.txt10.Name = "txt10";
  426. this.txt10.ReadOnly = true;
  427. this.txt10.Size = new System.Drawing.Size(240, 21);
  428. this.txt10.TabIndex = 31;
  429. this.txt10.Text = "";
  430. // 
  431. // label2
  432. // 
  433. this.label2.Location = new System.Drawing.Point(208, 48);
  434. this.label2.Name = "label2";
  435. this.label2.Size = new System.Drawing.Size(100, 16);
  436. this.label2.TabIndex = 43;
  437. this.label2.Text = "物料名称";
  438. // 
  439. // label3
  440. // 
  441. this.label3.Location = new System.Drawing.Point(70, 112);
  442. this.label3.Name = "label3";
  443. this.label3.Size = new System.Drawing.Size(100, 16);
  444. this.label3.TabIndex = 45;
  445. this.label3.Text = "父项编号";
  446. // 
  447. // label4
  448. // 
  449. this.label4.Location = new System.Drawing.Point(208, 112);
  450. this.label4.Name = "label4";
  451. this.label4.Size = new System.Drawing.Size(100, 16);
  452. this.label4.TabIndex = 47;
  453. this.label4.Text = "父项名称";
  454. // 
  455. // label5
  456. // 
  457. this.label5.Location = new System.Drawing.Point(72, 160);
  458. this.label5.Name = "label5";
  459. this.label5.Size = new System.Drawing.Size(64, 16);
  460. this.label5.TabIndex = 46;
  461. this.label5.Text = "需要数量";
  462. // 
  463. // label6
  464. // 
  465. this.label6.Location = new System.Drawing.Point(144, 160);
  466. this.label6.Name = "label6";
  467. this.label6.Size = new System.Drawing.Size(48, 16);
  468. this.label6.TabIndex = 39;
  469. this.label6.Text = "低层码";
  470. // 
  471. // label7
  472. // 
  473. this.label7.Location = new System.Drawing.Point(72, 208);
  474. this.label7.Name = "label7";
  475. this.label7.Size = new System.Drawing.Size(72, 16);
  476. this.label7.TabIndex = 38;
  477. this.label7.Text = "领料车间";
  478. // 
  479. // label8
  480. // 
  481. this.label8.Location = new System.Drawing.Point(208, 208);
  482. this.label8.Name = "label8";
  483. this.label8.Size = new System.Drawing.Size(100, 16);
  484. this.label8.TabIndex = 40;
  485. this.label8.Text = "领料库房";
  486. // 
  487. // label9
  488. // 
  489. this.label9.Location = new System.Drawing.Point(216, 160);
  490. this.label9.Name = "label9";
  491. this.label9.Size = new System.Drawing.Size(72, 16);
  492. this.label9.TabIndex = 42;
  493. this.label9.Text = "审核日期";
  494. // 
  495. // label10
  496. // 
  497. this.label10.Location = new System.Drawing.Point(72, 256);
  498. this.label10.Name = "label10";
  499. this.label10.Size = new System.Drawing.Size(100, 16);
  500. this.label10.TabIndex = 41;
  501. this.label10.Text = "其他事项";
  502. // 
  503. // BomForm
  504. // 
  505. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  506. this.ClientSize = new System.Drawing.Size(600, 445);
  507. this.Controls.Add(this.groupBox1);
  508. this.Controls.Add(this.treeView1);
  509. this.Controls.Add(this.toolBar1);
  510. this.Name = "BomForm";
  511. this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
  512. this.Text = "【物料清单BOM】";
  513. this.Load += new System.EventHandler(this.BomForm_Load);
  514. this.groupBox1.ResumeLayout(false);
  515. this.ResumeLayout(false);
  516. }
  517. #endregion
  518. //-------------创建窗体时,显示树形图的BOM表------------
  519. private void BomForm_Load(object sender, System.EventArgs e)
  520. {
  521. this.ShowTree();//将BOM表用树形图的方式显示出来
  522. }
  523. //-------------读入数据并准备显示树形图-----------------
  524. private void ShowTree()
  525. {
  526. tblBom.Clear();
  527.             this.sqlDataAdapter1.Fill(tblBom);//读入数据
  528. //DataTable tempDataTable = tblBom.Copy();//将组织机构表另存一份为tempDataTable
  529. DataView viewBom = new DataView(tblBom);//新建一个数据视图
  530. viewBom.RowFilter="低层码=0";
  531. //将数据集中的所有记录逐个根据他们之间的关系添加到树形表中去
  532. if (viewBom.Count > 0)
  533. {
  534. int i=0;//由于低层码为0的产品可能不止一个,因此设置序号,以便准确定位父项
  535. foreach (DataRowView myRow in viewBom)
  536. {
  537. string strName = myRow["物料编号"].ToString().Trim()+SetNodeName(myRow["物料编号"].ToString().Trim());
  538. //此处是添加前面头两个节点
  539. this.treeView1.Nodes.Add(new TreeNode(strName));
  540. //此处初始化参数是第一个节点,然后该函数会递归添加所有子节点
  541. PopulateTreeView(strName,treeView1.Nodes[i],myRow);
  542. i++;
  543. treeView1.SelectedNode = treeView1.Nodes[0]; //选中第一个节点 
  544. }
  545. }
  546. }
  547. //---------根据输入的节点信息,递归调用最终添加所有的节点-----------------------
  548. private void PopulateTreeView(string parentPart,TreeNode parentNode,DataRowView parentRow)
  549. {
  550. string strName = "";
  551. DataTable tempDataTable = tblBom.Copy();
  552. DataView viewBom = new DataView(tempDataTable);
  553. //筛选获得当前传递过来的节点的子项,并将其添加到树形图中
  554. //判断方法是:凡父项编号等于传递过来的节点的物料编号的,就是该节点的子项
  555. viewBom.RowFilter = "父项编号 = '" + parentRow["物料编号"].ToString().Trim() + "'";
  556. //递归的添加每一个节点的所有子节点
  557. foreach (DataRowView myRow in viewBom)  
  558. {
  559. strName = myRow["物料编号"].ToString().Trim()+SetNodeName(myRow["物料编号"].ToString().Trim());
  560. TreeNode myNode = new TreeNode(strName);
  561. parentNode.Nodes.Add(myNode);
  562. //函数递归调用,将所有节点按顺序添加完毕
  563. PopulateTreeView(strName,myNode,myRow); 
  564. }
  565. }
  566. //---------根据物料编号,查找其名称----------
  567. private string SetNodeName(string materialID)
  568. {
  569. string strConn = "server=localhost;Integrated Security=SSPI;database=mrpbook";
  570. SqlConnection cn=new SqlConnection(strConn);
  571. cn.Open();
  572. SqlCommand cmd=cn.CreateCommand();
  573. cmd.CommandText="select 物料名称 from 物料主文件 where 物料编号='"+materialID+"'";
  574. return(cmd.ExecuteScalar().ToString().Trim());
  575. }
  576. //-----------将所选节点中的物料名称和编号分别提取出来-------------
  577. private string[] GetNodeInfo(string inputStr)
  578. {
  579. int i;
  580. string str1,str2;
  581. str1="";
  582. str2="";
  583. int length=inputStr.Length;
  584. char[] chars=inputStr.ToCharArray(0,length);
  585. for(i=0;i<length;i++)
  586. {
  587. char ch=chars[i];
  588. if(ch>='0'&&ch<='9')
  589. str1+=ch.ToString();
  590. else
  591. str2+=ch.ToString();
  592. }
  593. string[] resultStr = {str1,str2};
  594. return(resultStr);
  595. }
  596. //-----------------在树形图中选择一个节点,显示其详细信息----------------
  597. private void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
  598. {
  599. string[] thisNodeInfo=GetNodeInfo(e.Node.Text);//显示当前节点信息
  600. txt1.Text=thisNodeInfo[0];
  601. txt2.Text=thisNodeInfo[1];
  602. if(e.Node.Parent!=null)//显示主节点信息
  603. {
  604. string[] parentNodeInfo=GetNodeInfo(e.Node.Parent.Text);
  605. txt3.Text=parentNodeInfo[0];
  606. txt4.Text=parentNodeInfo[1];
  607. }
  608. else
  609. {
  610. txt3.Text="0";//顶层两个节点父项编号是0
  611. txt4.Text="顶级节点无父节点";
  612. }
  613. string strConn = "server=localhost;Integrated Security=SSPI;database=mrpbook";
  614. SqlConnection cn=new SqlConnection(strConn);
  615. cn.Open();
  616. SqlCommand cmd=cn.CreateCommand();
  617. cmd.CommandText="select 需要数量,低层码,领料车间,领料库房,损耗率,审核日期,其它事项 from 物料清单 where (物料编号='"+txt1.Text+"')and(父项编号='"+txt3.Text+"')";
  618. SqlDataReader dr=cmd.ExecuteReader();
  619. dr.Read();
  620. txt5.Text=dr.GetValue(0).ToString().Trim();//保存需要数量
  621. txt6.Text=dr.GetValue(1).ToString().Trim();//保存低层码
  622. txt7.Text=dr.GetValue(2).ToString().Trim();//保存领料车间
  623. txt8.Text=dr.GetValue(3).ToString().Trim();//保存损耗率
  624. txt9.Text=dr.GetValue(4).ToString().Trim();//保存审核日期
  625. txt10.Text=dr.GetValue(5).ToString().Trim();//保存其它事项
  626. }
  627. //---------------设置工具栏操作--------------
  628. private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
  629. {
  630. if(treeView1.SelectedNode==null)//若未选中任何节点,则不做任何动作
  631. {
  632. return;
  633. }
  634.             string strConn = "server=localhost;Integrated Security=SSPI;database=mrpbook";
  635. SqlConnection cn=new SqlConnection(strConn);
  636. cn.Open();
  637. SqlCommand cmd=cn.CreateCommand();
  638. if(e.Button.ToolTipText=="新增")//增加选中节点的子项
  639. {
  640. SetModifyMode(true);//允许选择文本框进行编辑
  641. selBtn1.Enabled=true;
  642. txt3.Text=txt1.Text;//当前节点成为新节点的父节点
  643. txt4.Text=txt2.Text;
  644. txt1.Clear();//清除原有数据并设置默认值
  645. txt2.Clear();
  646. txt5.Text="0";//默认需要数量为0
  647. int newOrder=Convert.ToInt32(txt6.Text.Trim())+1;
  648. txt6.Text=newOrder.ToString();
  649. txt7.Clear();
  650. txt8.Clear();
  651. txt9.Clear();
  652. txt10.Clear();
  653. curStatus=1;//标识现在是新增状态
  654. }
  655. if(e.Button.ToolTipText=="修改")
  656. {
  657. SetModifyMode(true);
  658. txt1.ReadOnly=true;//修改时不允许修改物料编号
  659. selBtn1.Enabled=false;
  660. curStatus=2;//表示现在是编辑状态
  661. }
  662. if(e.Button.ToolTipText=="删除")
  663. {
  664. if(treeView1.SelectedNode.LastNode!=null)
  665. MessageBox.Show("请先删除该节点的所有子节点","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
  666. else
  667. {
  668. DialogResult result=MessageBox.Show("确认删除?","删除数据",MessageBoxButtons.OKCancel);
  669. if(result==DialogResult.OK)
  670. {
  671. cmd.CommandText="delete from 物料清单 where (物料编号='"+txt1.Text+"')and(父项编号='"+txt3.Text+"')";
  672. cmd.ExecuteNonQuery();
  673. treeView1.Nodes.Clear();
  674. ShowTree();//重新绘制树形图
  675. }
  676. }
  677. }
  678. if(e.Button.ToolTipText=="提交")
  679. {
  680. if(curStatus==0)//非新增,编辑状态,不作操作
  681. return;
  682. if(curStatus==1)//新增状态
  683. {
  684. cmd.CommandText="insert into 物料清单([父项编号], [物料编号], [需要数量], [领料车间],"+
  685. "[领料库房], [审核日期], [其它事项],[低层码]) "+
  686. "values('"+txt3.Text+"','"+txt1.Text+"','"+txt5.Text+"','"+txt7.Text+"','"+
  687. txt8.Text+"','"+txt9.Text+"','"+txt10.Text+"','"+txt6.Text+"')";
  688. cmd.ExecuteNonQuery();
  689. curStatus=0;//恢复普通状态
  690. SetModifyMode(false);
  691. treeView1.Nodes.Clear();
  692. ShowTree();//重新绘制树形图
  693. }
  694. if(curStatus==2)//编辑状态
  695. {
  696. cmd.CommandText="update 物料清单 set 需要数量='"+txt5.Text+"',领料车间='"+txt7.Text
  697. +"',领料库房='"+txt8.Text+"',审核日期='"+txt9.Text+"',其它事项='"+txt10.Text+"'"
  698. +" where (物料编号='"+txt1.Text+"')and(父项编号='"+txt3.Text+"')"; 
  699. cmd.ExecuteNonQuery();
  700. curStatus=0;//恢复普通状态
  701. SetModifyMode(false);
  702. treeView1.Nodes.Clear();
  703. ShowTree();//重新绘制树形图
  704. }
  705. }
  706. if (e.Button.ToolTipText == "取消")
  707. {
  708. treeView1.SelectedNode=treeView1.Nodes[0];//默认选中首项
  709. SetModifyMode(false);
  710. }
  711. if(e.Button.ToolTipText=="退出")
  712. {
  713. this.Close();
  714. }
  715. }
  716. //--------------对控件的ReadOnly属性做设置---------------
  717. private void SetModifyMode(bool blnModify)
  718. {
  719. //设置文本框
  720. txt1.ReadOnly=!blnModify;
  721. txt5.ReadOnly=!blnModify;
  722. txt7.ReadOnly=!blnModify;
  723. txt8.ReadOnly=!blnModify;
  724. txt9.ReadOnly=!blnModify;
  725. txt10.ReadOnly=!blnModify;
  726. //允许使用选择按钮
  727. selBtn1.Enabled=blnModify;
  728. }
  729. //------------调出窗体,选择物料--------------
  730. private void selBtn1_Click(object sender, System.EventArgs e)
  731. {
  732. SelectMaterial.callForm=3;
  733. SelectMaterial selFrm=new SelectMaterial();
  734. selFrm.ShowDialog();
  735. SendKeys.Send("{Tab}");//向活动应用程序发送Tab键,跳到下一控件
  736. }
  737. //---------将选择得到的物料编号和名称填入文本框----------
  738. private void selBtn1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
  739. {
  740. txt1.Text=mID;
  741. txt2.Text=mName;
  742. SendKeys.Send("{Tab}");
  743. }
  744. }
  745. }