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

企业管理

开发平台:

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. /// WarrentInput 的摘要说明。
  12. /// </summary>
  13. public class WarrentInput : System.Windows.Forms.Form
  14. {
  15. private DataTable newTable;//保存某一凭证的分录信息
  16. private DateTime gridMouseDownTime;//保存在某个窗体单元上的鼠标点击时间,以确定是单击还是双击
  17. private bool enableDoubleClick;//是否允许双击添加分录记录
  18. private CurrencyManager cmOrders;//数据导航控制
  19. public static string mID,mName;//保存从科目选择窗体中输入的科目代码和名称
  20. private System.Windows.Forms.ImageList imageList1;
  21. private System.Windows.Forms.ToolBar toolBar1;
  22. private System.Windows.Forms.ToolBarButton tBtnFirst;
  23. private System.Windows.Forms.ToolBarButton tBtnPre;
  24. private System.Windows.Forms.ToolBarButton tBtnNext;
  25. private System.Windows.Forms.ToolBarButton tBtnLast;
  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.GroupBox groupBox1;
  33. private System.Windows.Forms.TextBox txt2;
  34. private System.Windows.Forms.Label label1;
  35. private System.Windows.Forms.Button btnSearch;
  36. private System.Windows.Forms.TextBox txt1;
  37. private System.Windows.Forms.Label label2;
  38. private System.Windows.Forms.TextBox txt3;
  39. private System.Windows.Forms.Label label3;
  40. private System.Windows.Forms.DataGrid dataGrid1;
  41. private System.Windows.Forms.GroupBox groupBox2;
  42. private System.Windows.Forms.DataGrid dataGrid2;
  43. private System.Data.SqlClient.SqlDataAdapter da1;
  44. private System.Data.SqlClient.SqlDataAdapter da2;
  45. private 财务管理系统.DataSet1 dataSet11;
  46. private System.Windows.Forms.DataGridTableStyle dataGridTableStyle1;
  47. private System.Windows.Forms.DataGridTextBoxColumn dataGridTextBoxColumn1;
  48. private System.Windows.Forms.DataGridTextBoxColumn dataGridTextBoxColumn2;
  49. private System.Windows.Forms.DataGridTextBoxColumn dataGridTextBoxColumn3;
  50. private System.Windows.Forms.Label label4;
  51. private System.Windows.Forms.TextBox txt4;
  52. private System.Windows.Forms.Label label5;
  53. private System.Windows.Forms.Label label6;
  54. private System.Windows.Forms.Label label7;
  55. private System.Windows.Forms.ComboBox comboBox1;
  56. private System.Windows.Forms.Label label8;
  57. private System.Windows.Forms.Label label9;
  58. private System.Windows.Forms.Label label10;
  59. private System.Windows.Forms.Label label11;
  60. private System.Windows.Forms.TextBox txt5;
  61. private System.Windows.Forms.TextBox txt6;
  62. private System.Windows.Forms.TextBox txt7;
  63. private System.Windows.Forms.TextBox txt8;
  64. private System.Windows.Forms.TextBox txt9;
  65. private System.Windows.Forms.TextBox txt10;
  66. private System.Windows.Forms.Label label12;
  67. private System.Data.SqlClient.SqlCommand sqlSelectCommand1;
  68. private System.Data.SqlClient.SqlCommand sqlInsertCommand1;
  69. private System.Data.SqlClient.SqlCommand sqlUpdateCommand1;
  70. private System.Data.SqlClient.SqlCommand sqlDeleteCommand1;
  71. private System.Data.SqlClient.SqlConnection sqlConnection1;
  72. private System.Data.SqlClient.SqlCommand sqlSelectCommand2;
  73. private System.ComponentModel.IContainer components;
  74. public WarrentInput()
  75. {
  76. //
  77. // Windows 窗体设计器支持所必需的
  78. //
  79. InitializeComponent();
  80. //
  81. // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
  82. //
  83. }
  84. /// <summary>
  85. /// 清理所有正在使用的资源。
  86. /// </summary>
  87. protected override void Dispose( bool disposing )
  88. {
  89. if( disposing )
  90. {
  91. if(components != null)
  92. {
  93. components.Dispose();
  94. }
  95. }
  96. base.Dispose( disposing );
  97. }
  98. #region Windows 窗体设计器生成的代码
  99. /// <summary>
  100. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  101. /// 此方法的内容。
  102. /// </summary>
  103. private void InitializeComponent()
  104. {
  105. this.components = new System.ComponentModel.Container();
  106. System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(WarrentInput));
  107. this.imageList1 = new System.Windows.Forms.ImageList(this.components);
  108. this.toolBar1 = new System.Windows.Forms.ToolBar();
  109. this.tBtnFirst = new System.Windows.Forms.ToolBarButton();
  110. this.tBtnPre = new System.Windows.Forms.ToolBarButton();
  111. this.tBtnNext = new System.Windows.Forms.ToolBarButton();
  112. this.tBtnLast = new System.Windows.Forms.ToolBarButton();
  113. this.tBtnNew = new System.Windows.Forms.ToolBarButton();
  114. this.tBtnEdit = new System.Windows.Forms.ToolBarButton();
  115. this.tBtnDelete = new System.Windows.Forms.ToolBarButton();
  116. this.tBtnSubmit = new System.Windows.Forms.ToolBarButton();
  117. this.tBtnCancel = new System.Windows.Forms.ToolBarButton();
  118. this.tBtnQuit = new System.Windows.Forms.ToolBarButton();
  119. this.groupBox1 = new System.Windows.Forms.GroupBox();
  120. this.txt2 = new System.Windows.Forms.TextBox();
  121. this.label1 = new System.Windows.Forms.Label();
  122. this.btnSearch = new System.Windows.Forms.Button();
  123. this.txt1 = new System.Windows.Forms.TextBox();
  124. this.label2 = new System.Windows.Forms.Label();
  125. this.txt3 = new System.Windows.Forms.TextBox();
  126. this.label3 = new System.Windows.Forms.Label();
  127. this.dataGrid1 = new System.Windows.Forms.DataGrid();
  128. this.dataSet11 = new 财务管理系统.DataSet1();
  129. this.dataGridTableStyle1 = new System.Windows.Forms.DataGridTableStyle();
  130. this.dataGridTextBoxColumn1 = new System.Windows.Forms.DataGridTextBoxColumn();
  131. this.dataGridTextBoxColumn2 = new System.Windows.Forms.DataGridTextBoxColumn();
  132. this.dataGridTextBoxColumn3 = new System.Windows.Forms.DataGridTextBoxColumn();
  133. this.groupBox2 = new System.Windows.Forms.GroupBox();
  134. this.comboBox1 = new System.Windows.Forms.ComboBox();
  135. this.txt4 = new System.Windows.Forms.TextBox();
  136. this.label4 = new System.Windows.Forms.Label();
  137. this.label5 = new System.Windows.Forms.Label();
  138. this.txt5 = new System.Windows.Forms.TextBox();
  139. this.label6 = new System.Windows.Forms.Label();
  140. this.txt6 = new System.Windows.Forms.TextBox();
  141. this.label7 = new System.Windows.Forms.Label();
  142. this.label8 = new System.Windows.Forms.Label();
  143. this.txt7 = new System.Windows.Forms.TextBox();
  144. this.txt8 = new System.Windows.Forms.TextBox();
  145. this.label9 = new System.Windows.Forms.Label();
  146. this.label10 = new System.Windows.Forms.Label();
  147. this.txt9 = new System.Windows.Forms.TextBox();
  148. this.txt10 = new System.Windows.Forms.TextBox();
  149. this.label11 = new System.Windows.Forms.Label();
  150. this.dataGrid2 = new System.Windows.Forms.DataGrid();
  151. this.da1 = new System.Data.SqlClient.SqlDataAdapter();
  152. this.sqlDeleteCommand1 = new System.Data.SqlClient.SqlCommand();
  153. this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();
  154. this.sqlInsertCommand1 = new System.Data.SqlClient.SqlCommand();
  155. this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand();
  156. this.sqlUpdateCommand1 = new System.Data.SqlClient.SqlCommand();
  157. this.da2 = new System.Data.SqlClient.SqlDataAdapter();
  158. this.sqlSelectCommand2 = new System.Data.SqlClient.SqlCommand();
  159. this.label12 = new System.Windows.Forms.Label();
  160. this.groupBox1.SuspendLayout();
  161. ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
  162. ((System.ComponentModel.ISupportInitialize)(this.dataSet11)).BeginInit();
  163. this.groupBox2.SuspendLayout();
  164. ((System.ComponentModel.ISupportInitialize)(this.dataGrid2)).BeginInit();
  165. this.SuspendLayout();
  166. // 
  167. // imageList1
  168. // 
  169. this.imageList1.ImageSize = new System.Drawing.Size(16, 16);
  170. this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
  171. this.imageList1.TransparentColor = System.Drawing.SystemColors.ControlLightLight;
  172. // 
  173. // toolBar1
  174. // 
  175. this.toolBar1.Buttons.AddRange(new System.Windows.Forms.ToolBarButton[] {
  176. this.tBtnFirst,
  177. this.tBtnPre,
  178. this.tBtnNext,
  179. this.tBtnLast,
  180. this.tBtnNew,
  181. this.tBtnEdit,
  182. this.tBtnDelete,
  183. this.tBtnSubmit,
  184. this.tBtnCancel,
  185. this.tBtnQuit});
  186. this.toolBar1.DropDownArrows = true;
  187. this.toolBar1.ImageList = this.imageList1;
  188. this.toolBar1.Location = new System.Drawing.Point(0, 0);
  189. this.toolBar1.Name = "toolBar1";
  190. this.toolBar1.ShowToolTips = true;
  191. this.toolBar1.Size = new System.Drawing.Size(736, 41);
  192. this.toolBar1.TabIndex = 29;
  193. this.toolBar1.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.toolBar1_ButtonClick);
  194. // 
  195. // tBtnFirst
  196. // 
  197. this.tBtnFirst.ImageIndex = 0;
  198. this.tBtnFirst.Text = "首记录";
  199. this.tBtnFirst.ToolTipText = "首记录";
  200. // 
  201. // tBtnPre
  202. // 
  203. this.tBtnPre.ImageIndex = 1;
  204. this.tBtnPre.Text = "上一记录";
  205. this.tBtnPre.ToolTipText = "上一记录";
  206. // 
  207. // tBtnNext
  208. // 
  209. this.tBtnNext.ImageIndex = 2;
  210. this.tBtnNext.Text = "下一记录";
  211. this.tBtnNext.ToolTipText = "下一记录";
  212. // 
  213. // tBtnLast
  214. // 
  215. this.tBtnLast.ImageIndex = 3;
  216. this.tBtnLast.Text = "尾记录";
  217. this.tBtnLast.ToolTipText = "尾记录";
  218. // 
  219. // tBtnNew
  220. // 
  221. this.tBtnNew.ImageIndex = 4;
  222. this.tBtnNew.Text = "新增";
  223. this.tBtnNew.ToolTipText = "新增";
  224. // 
  225. // tBtnEdit
  226. // 
  227. this.tBtnEdit.ImageIndex = 5;
  228. this.tBtnEdit.Text = "修改";
  229. this.tBtnEdit.ToolTipText = "修改";
  230. // 
  231. // tBtnDelete
  232. // 
  233. this.tBtnDelete.ImageIndex = 6;
  234. this.tBtnDelete.Text = "删除";
  235. this.tBtnDelete.ToolTipText = "删除";
  236. // 
  237. // tBtnSubmit
  238. // 
  239. this.tBtnSubmit.ImageIndex = 7;
  240. this.tBtnSubmit.Text = "提交";
  241. this.tBtnSubmit.ToolTipText = "提交";
  242. // 
  243. // tBtnCancel
  244. // 
  245. this.tBtnCancel.ImageIndex = 8;
  246. this.tBtnCancel.Text = "取消";
  247. this.tBtnCancel.ToolTipText = "取消";
  248. // 
  249. // tBtnQuit
  250. // 
  251. this.tBtnQuit.ImageIndex = 9;
  252. this.tBtnQuit.Text = "退出";
  253. this.tBtnQuit.ToolTipText = "退出";
  254. // 
  255. // groupBox1
  256. // 
  257. this.groupBox1.Controls.Add(this.txt2);
  258. this.groupBox1.Controls.Add(this.label1);
  259. this.groupBox1.Controls.Add(this.btnSearch);
  260. this.groupBox1.Controls.Add(this.txt1);
  261. this.groupBox1.Controls.Add(this.label2);
  262. this.groupBox1.Controls.Add(this.txt3);
  263. this.groupBox1.Controls.Add(this.label3);
  264. this.groupBox1.Location = new System.Drawing.Point(0, 48);
  265. this.groupBox1.Name = "groupBox1";
  266. this.groupBox1.Size = new System.Drawing.Size(728, 56);
  267. this.groupBox1.TabIndex = 28;
  268. this.groupBox1.TabStop = false;
  269. // 
  270. // txt2
  271. // 
  272. this.txt2.Location = new System.Drawing.Point(328, 24);
  273. this.txt2.Name = "txt2";
  274. this.txt2.TabIndex = 2;
  275. this.txt2.Text = "";
  276. // 
  277. // label1
  278. // 
  279. this.label1.Location = new System.Drawing.Point(272, 28);
  280. this.label1.Name = "label1";
  281. this.label1.Size = new System.Drawing.Size(56, 16);
  282. this.label1.TabIndex = 1;
  283. this.label1.Text = "会计期间";
  284. // 
  285. // btnSearch
  286. // 
  287. this.btnSearch.Image = ((System.Drawing.Image)(resources.GetObject("btnSearch.Image")));
  288. this.btnSearch.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
  289. this.btnSearch.Location = new System.Drawing.Point(16, 24);
  290. this.btnSearch.Name = "btnSearch";
  291. this.btnSearch.Size = new System.Drawing.Size(72, 23);
  292. this.btnSearch.TabIndex = 0;
  293. this.btnSearch.Text = " 搜索";
  294. this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
  295. // 
  296. // txt1
  297. // 
  298. this.txt1.Location = new System.Drawing.Point(168, 24);
  299. this.txt1.Name = "txt1";
  300. this.txt1.TabIndex = 2;
  301. this.txt1.Text = "";
  302. // 
  303. // label2
  304. // 
  305. this.label2.Location = new System.Drawing.Point(104, 28);
  306. this.label2.Name = "label2";
  307. this.label2.Size = new System.Drawing.Size(56, 16);
  308. this.label2.TabIndex = 1;
  309. this.label2.Text = "凭证编号";
  310. // 
  311. // txt3
  312. // 
  313. this.txt3.Location = new System.Drawing.Point(504, 24);
  314. this.txt3.Name = "txt3";
  315. this.txt3.TabIndex = 2;
  316. this.txt3.Text = "";
  317. // 
  318. // label3
  319. // 
  320. this.label3.Location = new System.Drawing.Point(448, 28);
  321. this.label3.Name = "label3";
  322. this.label3.Size = new System.Drawing.Size(56, 16);
  323. this.label3.TabIndex = 1;
  324. this.label3.Text = "日期";
  325. // 
  326. // dataGrid1
  327. // 
  328. this.dataGrid1.CaptionVisible = false;
  329. this.dataGrid1.DataMember = "凭证表";
  330. this.dataGrid1.DataSource = this.dataSet11;
  331. this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
  332. this.dataGrid1.Location = new System.Drawing.Point(0, 104);
  333. this.dataGrid1.Name = "dataGrid1";
  334. this.dataGrid1.ReadOnly = true;
  335. this.dataGrid1.RowHeaderWidth = 20;
  336. this.dataGrid1.Size = new System.Drawing.Size(272, 416);
  337. this.dataGrid1.TabIndex = 30;
  338. this.dataGrid1.TableStyles.AddRange(new System.Windows.Forms.DataGridTableStyle[] {
  339.   this.dataGridTableStyle1});
  340. this.dataGrid1.CurrentCellChanged += new System.EventHandler(this.dataGrid1_CurrentCellChanged);
  341. // 
  342. // dataSet11
  343. // 
  344. this.dataSet11.DataSetName = "DataSet1";
  345. this.dataSet11.Locale = new System.Globalization.CultureInfo("zh-CN");
  346. // 
  347. // dataGridTableStyle1
  348. // 
  349. this.dataGridTableStyle1.DataGrid = this.dataGrid1;
  350. this.dataGridTableStyle1.GridColumnStyles.AddRange(new System.Windows.Forms.DataGridColumnStyle[] {
  351.   this.dataGridTextBoxColumn1,
  352.   this.dataGridTextBoxColumn2,
  353.   this.dataGridTextBoxColumn3});
  354. this.dataGridTableStyle1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
  355. this.dataGridTableStyle1.MappingName = "凭证表";
  356. this.dataGridTableStyle1.RowHeaderWidth = 20;
  357. // 
  358. // dataGridTextBoxColumn1
  359. // 
  360. this.dataGridTextBoxColumn1.Format = "";
  361. this.dataGridTextBoxColumn1.FormatInfo = null;
  362. this.dataGridTextBoxColumn1.HeaderText = "凭证编号";
  363. this.dataGridTextBoxColumn1.MappingName = "凭证编号";
  364. this.dataGridTextBoxColumn1.Width = 80;
  365. // 
  366. // dataGridTextBoxColumn2
  367. // 
  368. this.dataGridTextBoxColumn2.Format = "";
  369. this.dataGridTextBoxColumn2.FormatInfo = null;
  370. this.dataGridTextBoxColumn2.HeaderText = "会计期间";
  371. this.dataGridTextBoxColumn2.MappingName = "会计期间";
  372. this.dataGridTextBoxColumn2.Width = 60;
  373. // 
  374. // dataGridTextBoxColumn3
  375. // 
  376. this.dataGridTextBoxColumn3.Format = "";
  377. this.dataGridTextBoxColumn3.FormatInfo = null;
  378. this.dataGridTextBoxColumn3.HeaderText = "日期";
  379. this.dataGridTextBoxColumn3.MappingName = "日期";
  380. this.dataGridTextBoxColumn3.Width = 90;
  381. // 
  382. // groupBox2
  383. // 
  384. this.groupBox2.Controls.Add(this.comboBox1);
  385. this.groupBox2.Controls.Add(this.txt4);
  386. this.groupBox2.Controls.Add(this.label4);
  387. this.groupBox2.Controls.Add(this.label5);
  388. this.groupBox2.Controls.Add(this.txt5);
  389. this.groupBox2.Controls.Add(this.label6);
  390. this.groupBox2.Controls.Add(this.txt6);
  391. this.groupBox2.Controls.Add(this.label7);
  392. this.groupBox2.Controls.Add(this.label8);
  393. this.groupBox2.Controls.Add(this.txt7);
  394. this.groupBox2.Controls.Add(this.txt8);
  395. this.groupBox2.Controls.Add(this.label9);
  396. this.groupBox2.Controls.Add(this.label10);
  397. this.groupBox2.Controls.Add(this.txt9);
  398. this.groupBox2.Controls.Add(this.txt10);
  399. this.groupBox2.Controls.Add(this.label11);
  400. this.groupBox2.Location = new System.Drawing.Point(272, 104);
  401. this.groupBox2.Name = "groupBox2";
  402. this.groupBox2.Size = new System.Drawing.Size(456, 136);
  403. this.groupBox2.TabIndex = 31;
  404. this.groupBox2.TabStop = false;
  405. this.groupBox2.Text = "凭证详细信息";
  406. // 
  407. // comboBox1
  408. // 
  409. this.comboBox1.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "凭证表.凭证字号"));
  410. this.comboBox1.Enabled = false;
  411. this.comboBox1.Items.AddRange(new object[] {
  412.    "付",
  413.    "收",
  414.    "转"});
  415. this.comboBox1.Location = new System.Drawing.Point(144, 48);
  416. this.comboBox1.Name = "comboBox1";
  417. this.comboBox1.Size = new System.Drawing.Size(88, 20);
  418. this.comboBox1.TabIndex = 2;
  419. // 
  420. // txt4
  421. // 
  422. this.txt4.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "凭证表.凭证编号"));
  423. this.txt4.Location = new System.Drawing.Point(24, 48);
  424. this.txt4.Name = "txt4";
  425. this.txt4.ReadOnly = true;
  426. this.txt4.TabIndex = 1;
  427. this.txt4.Text = "";
  428. // 
  429. // label4
  430. // 
  431. this.label4.Location = new System.Drawing.Point(24, 32);
  432. this.label4.Name = "label4";
  433. this.label4.Size = new System.Drawing.Size(72, 16);
  434. this.label4.TabIndex = 0;
  435. this.label4.Text = "凭证编号";
  436. // 
  437. // label5
  438. // 
  439. this.label5.Location = new System.Drawing.Point(144, 32);
  440. this.label5.Name = "label5";
  441. this.label5.Size = new System.Drawing.Size(72, 16);
  442. this.label5.TabIndex = 0;
  443. this.label5.Text = "凭证字号";
  444. // 
  445. // txt5
  446. // 
  447. this.txt5.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "凭证表.日期"));
  448. this.txt5.Location = new System.Drawing.Point(256, 48);
  449. this.txt5.Name = "txt5";
  450. this.txt5.ReadOnly = true;
  451. this.txt5.TabIndex = 1;
  452. this.txt5.Text = "";
  453. // 
  454. // label6
  455. // 
  456. this.label6.Location = new System.Drawing.Point(376, 32);
  457. this.label6.Name = "label6";
  458. this.label6.Size = new System.Drawing.Size(72, 16);
  459. this.label6.TabIndex = 0;
  460. this.label6.Text = "制单人";
  461. // 
  462. // txt6
  463. // 
  464. this.txt6.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "凭证表.制单"));
  465. this.txt6.Location = new System.Drawing.Point(376, 48);
  466. this.txt6.Name = "txt6";
  467. this.txt6.ReadOnly = true;
  468. this.txt6.Size = new System.Drawing.Size(72, 21);
  469. this.txt6.TabIndex = 1;
  470. this.txt6.Text = "";
  471. // 
  472. // label7
  473. // 
  474. this.label7.Location = new System.Drawing.Point(256, 32);
  475. this.label7.Name = "label7";
  476. this.label7.Size = new System.Drawing.Size(72, 16);
  477. this.label7.TabIndex = 0;
  478. this.label7.Text = "日期";
  479. // 
  480. // label8
  481. // 
  482. this.label8.Location = new System.Drawing.Point(24, 88);
  483. this.label8.Name = "label8";
  484. this.label8.Size = new System.Drawing.Size(72, 16);
  485. this.label8.TabIndex = 0;
  486. this.label8.Text = "会计期间";
  487. // 
  488. // txt7
  489. // 
  490. this.txt7.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "凭证表.会计期间"));
  491. this.txt7.Location = new System.Drawing.Point(24, 104);
  492. this.txt7.Name = "txt7";
  493. this.txt7.ReadOnly = true;
  494. this.txt7.Size = new System.Drawing.Size(96, 21);
  495. this.txt7.TabIndex = 1;
  496. this.txt7.Text = "";
  497. // 
  498. // txt8
  499. // 
  500. this.txt8.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "凭证表.过账状态"));
  501. this.txt8.Location = new System.Drawing.Point(136, 104);
  502. this.txt8.Name = "txt8";
  503. this.txt8.ReadOnly = true;
  504. this.txt8.Size = new System.Drawing.Size(88, 21);
  505. this.txt8.TabIndex = 1;
  506. this.txt8.Text = "";
  507. // 
  508. // label9
  509. // 
  510. this.label9.Location = new System.Drawing.Point(136, 88);
  511. this.label9.Name = "label9";
  512. this.label9.Size = new System.Drawing.Size(72, 16);
  513. this.label9.TabIndex = 0;
  514. this.label9.Text = "过帐状态";
  515. // 
  516. // label10
  517. // 
  518. this.label10.Location = new System.Drawing.Point(240, 88);
  519. this.label10.Name = "label10";
  520. this.label10.Size = new System.Drawing.Size(72, 16);
  521. this.label10.TabIndex = 0;
  522. this.label10.Text = "借方合计";
  523. // 
  524. // txt9
  525. // 
  526. this.txt9.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "凭证表.借方合计"));
  527. this.txt9.Location = new System.Drawing.Point(240, 104);
  528. this.txt9.Name = "txt9";
  529. this.txt9.ReadOnly = true;
  530. this.txt9.TabIndex = 1;
  531. this.txt9.Text = "";
  532. // 
  533. // txt10
  534. // 
  535. this.txt10.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "凭证表.贷方合计"));
  536. this.txt10.Location = new System.Drawing.Point(352, 104);
  537. this.txt10.Name = "txt10";
  538. this.txt10.ReadOnly = true;
  539. this.txt10.Size = new System.Drawing.Size(96, 21);
  540. this.txt10.TabIndex = 1;
  541. this.txt10.Text = "";
  542. // 
  543. // label11
  544. // 
  545. this.label11.Location = new System.Drawing.Point(360, 88);
  546. this.label11.Name = "label11";
  547. this.label11.Size = new System.Drawing.Size(72, 16);
  548. this.label11.TabIndex = 0;
  549. this.label11.Text = "贷方合计";
  550. // 
  551. // dataGrid2
  552. // 
  553. this.dataGrid2.CaptionVisible = false;
  554. this.dataGrid2.DataMember = "";
  555. this.dataGrid2.HeaderForeColor = System.Drawing.SystemColors.ControlText;
  556. this.dataGrid2.Location = new System.Drawing.Point(280, 256);
  557. this.dataGrid2.Name = "dataGrid2";
  558. this.dataGrid2.ReadOnly = true;
  559. this.dataGrid2.Size = new System.Drawing.Size(448, 264);
  560. this.dataGrid2.TabIndex = 32;
  561. this.dataGrid2.MouseDown += new System.Windows.Forms.MouseEventHandler(this.dataGrid2_MouseDown);
  562. this.dataGrid2.DoubleClick += new System.EventHandler(this.dataGrid2_DoubleClick);
  563. this.dataGrid2.CurrentCellChanged += new System.EventHandler(this.dataGrid2_CurrentCellChanged);
  564. // 
  565. // da1
  566. // 
  567. this.da1.DeleteCommand = this.sqlDeleteCommand1;
  568. this.da1.InsertCommand = this.sqlInsertCommand1;
  569. this.da1.SelectCommand = this.sqlSelectCommand1;
  570. this.da1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
  571.   new System.Data.Common.DataTableMapping("Table", "凭证表", new System.Data.Common.DataColumnMapping[] {
  572.  new System.Data.Common.DataColumnMapping("凭证编号", "凭证编号"),
  573.  new System.Data.Common.DataColumnMapping("会计期间", "会计期间"),
  574.  new System.Data.Common.DataColumnMapping("凭证字号", "凭证字号"),
  575.  new System.Data.Common.DataColumnMapping("日期", "日期"),
  576.  new System.Data.Common.DataColumnMapping("附单据", "附单据"),
  577.  new System.Data.Common.DataColumnMapping("制单", "制单"),
  578.  new System.Data.Common.DataColumnMapping("借方合计", "借方合计"),
  579.  new System.Data.Common.DataColumnMapping("贷方合计", "贷方合计"),
  580.  new System.Data.Common.DataColumnMapping("过账状态", "过账状态"),
  581.  new System.Data.Common.DataColumnMapping("凭证状态", "凭证状态")})});
  582. this.da1.UpdateCommand = this.sqlUpdateCommand1;
  583. // 
  584. // sqlDeleteCommand1
  585. // 
  586. this.sqlDeleteCommand1.CommandText = @"DELETE FROM 凭证表 WHERE (凭证编号 = @Original_凭证编号) 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_日期 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)";
  587. this.sqlDeleteCommand1.Connection = this.sqlConnection1;
  588. 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));
  589. 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));
  590. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_借方合计", System.Data.SqlDbType.Money, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "借方合计", System.Data.DataRowVersion.Original, null));
  591. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_凭证字号", System.Data.SqlDbType.VarChar, 2, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "凭证字号", System.Data.DataRowVersion.Original, null));
  592. 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));
  593. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_制单", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "制单", System.Data.DataRowVersion.Original, null));
  594. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_日期", System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "日期", System.Data.DataRowVersion.Original, null));
  595. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_贷方合计", System.Data.SqlDbType.Money, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "贷方合计", System.Data.DataRowVersion.Original, null));
  596. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_过账状态", System.Data.SqlDbType.VarChar, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "过账状态", System.Data.DataRowVersion.Original, null));
  597. 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));
  598. // 
  599. // sqlConnection1
  600. // 
  601. this.sqlConnection1.ConnectionString = "workstation id=localhost;packet size=4096;integrated security=SSPI;initial catalo" +
  602. "g=caiwubook;persist security info=False";
  603. // 
  604. // sqlInsertCommand1
  605. // 
  606. this.sqlInsertCommand1.CommandText = "INSERT INTO 凭证表(凭证编号, 会计期间, 凭证字号, 日期, 附单据, 制单, 借方合计, 贷方合计, 过账状态, 凭证状态) VALUES (@凭" +
  607. "证编号, @会计期间, @凭证字号, @日期, @附单据, @制单, @借方合计, @贷方合计, @过账状态, @凭证状态); SELECT 凭证编号, 会计期" +
  608. "间, 凭证字号, 日期, 附单据, 制单, 借方合计, 贷方合计, 过账状态, 凭证状态 FROM 凭证表 WHERE (凭证编号 = @凭证编号) ORDER" +
  609. " BY 凭证编号";
  610. this.sqlInsertCommand1.Connection = this.sqlConnection1;
  611. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@凭证编号", System.Data.SqlDbType.VarChar, 10, "凭证编号"));
  612. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@会计期间", System.Data.SqlDbType.Int, 4, "会计期间"));
  613. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@凭证字号", System.Data.SqlDbType.VarChar, 2, "凭证字号"));
  614. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@日期", System.Data.SqlDbType.DateTime, 8, "日期"));
  615. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@附单据", System.Data.SqlDbType.Int, 4, "附单据"));
  616. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@制单", System.Data.SqlDbType.VarChar, 20, "制单"));
  617. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@借方合计", System.Data.SqlDbType.Money, 8, "借方合计"));
  618. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@贷方合计", System.Data.SqlDbType.Money, 8, "贷方合计"));
  619. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@过账状态", System.Data.SqlDbType.VarChar, 4, "过账状态"));
  620. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@凭证状态", System.Data.SqlDbType.VarChar, 10, "凭证状态"));
  621. // 
  622. // sqlSelectCommand1
  623. // 
  624. this.sqlSelectCommand1.CommandText = "SELECT 凭证编号, 会计期间, 凭证字号, 日期, 附单据, 制单, 借方合计, 贷方合计, 过账状态, 凭证状态 FROM 凭证表 WHERE (凭证编号" +
  625. " LIKE @Param4) AND (会计期间 LIKE @Param5) AND (日期 LIKE @Param6) ORDER BY 凭证编号";
  626. this.sqlSelectCommand1.Connection = this.sqlConnection1;
  627. this.sqlSelectCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param4", System.Data.SqlDbType.VarChar, 10, "凭证编号"));
  628. this.sqlSelectCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param5", System.Data.SqlDbType.VarChar, 10, "会计期间"));
  629. this.sqlSelectCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param6", System.Data.SqlDbType.DateTime, 8, "日期"));
  630. // 
  631. // sqlUpdateCommand1
  632. // 
  633. this.sqlUpdateCommand1.CommandText = @"UPDATE 凭证表 SET 凭证编号 = @凭证编号, 会计期间 = @会计期间, 凭证字号 = @凭证字号, 日期 = @日期, 附单据 = @附单据, 制单 = @制单, 借方合计 = @借方合计, 贷方合计 = @贷方合计, 过账状态 = @过账状态, 凭证状态 = @凭证状态 WHERE (凭证编号 = @Original_凭证编号) 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_日期 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); SELECT 凭证编号, 会计期间, 凭证字号, 日期, 附单据, 制单, 借方合计, 贷方合计, 过账状态, 凭证状态 FROM 凭证表 WHERE (凭证编号 = @凭证编号) ORDER BY 凭证编号";
  634. this.sqlUpdateCommand1.Connection = this.sqlConnection1;
  635. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@凭证编号", System.Data.SqlDbType.VarChar, 10, "凭证编号"));
  636. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@会计期间", System.Data.SqlDbType.Int, 4, "会计期间"));
  637. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@凭证字号", System.Data.SqlDbType.VarChar, 2, "凭证字号"));
  638. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@日期", System.Data.SqlDbType.DateTime, 8, "日期"));
  639. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@附单据", System.Data.SqlDbType.Int, 4, "附单据"));
  640. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@制单", System.Data.SqlDbType.VarChar, 20, "制单"));
  641. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@借方合计", System.Data.SqlDbType.Money, 8, "借方合计"));
  642. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@贷方合计", System.Data.SqlDbType.Money, 8, "贷方合计"));
  643. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@过账状态", System.Data.SqlDbType.VarChar, 4, "过账状态"));
  644. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@凭证状态", System.Data.SqlDbType.VarChar, 10, "凭证状态"));
  645. 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));
  646. 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));
  647. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_借方合计", System.Data.SqlDbType.Money, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "借方合计", System.Data.DataRowVersion.Original, null));
  648. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_凭证字号", System.Data.SqlDbType.VarChar, 2, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "凭证字号", System.Data.DataRowVersion.Original, null));
  649. 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));
  650. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_制单", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "制单", System.Data.DataRowVersion.Original, null));
  651. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_日期", System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "日期", System.Data.DataRowVersion.Original, null));
  652. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_贷方合计", System.Data.SqlDbType.Money, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "贷方合计", System.Data.DataRowVersion.Original, null));
  653. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_过账状态", System.Data.SqlDbType.VarChar, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "过账状态", System.Data.DataRowVersion.Original, null));
  654. 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));
  655. // 
  656. // da2
  657. // 
  658. this.da2.SelectCommand = this.sqlSelectCommand2;
  659. this.da2.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
  660.   new System.Data.Common.DataTableMapping("Table", "分录表", new System.Data.Common.DataColumnMapping[] {
  661.  new System.Data.Common.DataColumnMapping("科目名称", "科目名称"),
  662.  new System.Data.Common.DataColumnMapping("编号", "编号"),
  663.  new System.Data.Common.DataColumnMapping("凭证编号", "凭证编号"),
  664.  new System.Data.Common.DataColumnMapping("摘要", "摘要"),
  665.  new System.Data.Common.DataColumnMapping("科目代码", "科目代码"),
  666.  new System.Data.Common.DataColumnMapping("借方", "借方"),
  667.  new System.Data.Common.DataColumnMapping("贷方", "贷方"),
  668.  new System.Data.Common.DataColumnMapping("数量", "数量"),
  669.  new System.Data.Common.DataColumnMapping("单价", "单价"),
  670.  new System.Data.Common.DataColumnMapping("结算方式", "结算方式"),
  671.  new System.Data.Common.DataColumnMapping("结算号", "结算号"),
  672.  new System.Data.Common.DataColumnMapping("结算日期", "结算日期")})});
  673. // 
  674. // sqlSelectCommand2
  675. // 
  676. this.sqlSelectCommand2.CommandText = "SELECT b.科目名称, a.编号, a.凭证编号, a.摘要, a.科目代码, a.借方, a.贷方, a.数量, a.单价, a.结算方式, a.结算号," +
  677. " a.结算日期 FROM 分录表 a INNER JOIN 科目表 b ON a.科目代码 = b.科目代码 WHERE (a.凭证编号 = @Param2)";
  678. this.sqlSelectCommand2.Connection = this.sqlConnection1;
  679. this.sqlSelectCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param2", System.Data.SqlDbType.VarChar, 10, "凭证编号"));
  680. // 
  681. // label12
  682. // 
  683. this.label12.Location = new System.Drawing.Point(280, 242);
  684. this.label12.Name = "label12";
  685. this.label12.Size = new System.Drawing.Size(184, 14);
  686. this.label12.TabIndex = 33;
  687. this.label12.Text = "双击新行前的导航栏选择明细";
  688. // 
  689. // WarrentInput
  690. // 
  691. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  692. this.ClientSize = new System.Drawing.Size(736, 525);
  693. this.Controls.Add(this.label12);
  694. this.Controls.Add(this.dataGrid2);
  695. this.Controls.Add(this.dataGrid1);
  696. this.Controls.Add(this.groupBox1);
  697. this.Controls.Add(this.toolBar1);
  698. this.Controls.Add(this.groupBox2);
  699. this.Name = "WarrentInput";
  700. this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
  701. this.Text = "【会计凭证输入】";
  702. this.Load += new System.EventHandler(this.WarrentInput_Load);
  703. this.groupBox1.ResumeLayout(false);
  704. ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
  705. ((System.ComponentModel.ISupportInitialize)(this.dataSet11)).EndInit();
  706. this.groupBox2.ResumeLayout(false);
  707. ((System.ComponentModel.ISupportInitialize)(this.dataGrid2)).EndInit();
  708. this.ResumeLayout(false);
  709. }
  710. #endregion
  711. //-------------创建窗体时,读入全部数据------------
  712. private void WarrentInput_Load(object sender, System.EventArgs e)
  713. {
  714. da1.SelectCommand.Parameters[0].Value="%%";//设置参数
  715. da1.SelectCommand.Parameters[1].SqlDbType=System.Data.SqlDbType.VarChar;
  716. da1.SelectCommand.Parameters[2].SqlDbType=System.Data.SqlDbType.VarChar;
  717. da1.SelectCommand.Parameters[1].Value="%%";
  718. da1.SelectCommand.Parameters[2].Value="%%";
  719. da1.Fill(dataSet11.凭证表);            
  720. DataGridStateControl();//设置分录表表格
  721. //最初显示时,分录表显示第一个凭证记录的明细信息
  722. da2.SelectCommand.Parameters[0].Value=txt4.Text.Trim();
  723. newTable.Clear();
  724. da2.Fill(newTable);
  725. dataGrid2.ReadOnly=true;
  726. //创建窗体时处于浏览状态,不允许双击分录表添加记录
  727. this.enableDoubleClick=false;
  728. //绑定数据导航控制
  729. cmOrders=(CurrencyManager) BindingContext[dataSet11,"凭证表"];
  730. }
  731. //----------设置明细表格各列的属性----------
  732. private void DataGridStateControl()
  733. {
  734. newTable = new DataTable();
  735. newTable.Columns.Add("科目代码",typeof(string));
  736. newTable.Columns.Add("科目名称",typeof(string));
  737. newTable.Columns.Add("借方",typeof(decimal));
  738. newTable.Columns.Add("贷方",typeof(decimal));
  739. newTable.Columns.Add("摘要",typeof(string));
  740. this.dataGrid2.DataSource = newTable;
  741. newTable.Rows.Add(newTable.NewRow()); //向表中添加一行
  742. DataGridTableStyle ts = new DataGridTableStyle();
  743. DataGridTextBoxColumn aColumnTextColumn;
  744. ts.AllowSorting = false;
  745. ts.AlternatingBackColor = Color.LightGray;
  746. ts.MappingName = newTable.TableName;
  747. int numCols = newTable.Columns.Count;
  748. for (int i = 0;i< numCols;i++)
  749. {
  750. aColumnTextColumn = new DataGridTextBoxColumn();
  751. if( i==0 || i==1 )//表中允许编辑【借方】,【贷方】和【备注】三个字段
  752. {
  753. aColumnTextColumn.ReadOnly=true;
  754. }
  755. if (  i == 1 )//当鼠标单击第1列时,允许响应
  756. {
  757. aColumnTextColumn.TextBox.MouseDown += new MouseEventHandler(TextBoxMouseDownHandler);
  758. }
  759. if(i==1)
  760. {
  761. aColumnTextColumn.Width=100;//设置科目名称宽度
  762. }
  763. if ( i == 4 )
  764. {
  765. aColumnTextColumn.Width = 160;//设置宽度
  766. }
  767. aColumnTextColumn.MappingName = newTable.Columns[i].ColumnName;
  768. aColumnTextColumn.HeaderText = newTable.Columns[i].ColumnName;
  769. aColumnTextColumn.NullText = "";
  770. aColumnTextColumn.Format = "N"; //设置为数字格式显示
  771. ts.GridColumnStyles.Add(aColumnTextColumn);
  772. }
  773. dataGrid2.TableStyles.Add(ts);
  774. }
  775. //------------根据输入信息来检索数据-------------
  776. private void btnSearch_Click(object sender, System.EventArgs e)
  777. {
  778. da1.SelectCommand.Parameters[0].Value="%%";
  779. da1.SelectCommand.Parameters[1].Value="%%";
  780. da1.SelectCommand.Parameters[2].Value="%%";
  781. //根据用户在文本框中的输入来设置SQL查询的参数
  782. if(txt1.Text.Trim()!="")
  783. {
  784. da1.SelectCommand.Parameters[0].Value="%"+txt1.Text.Trim()+"%";
  785. }
  786. if(txt2.Text.Trim()!="")
  787. {
  788. da1.SelectCommand.Parameters[1].Value="%"+txt2.Text.Trim()+"%";
  789. }
  790. if(txt3.Text.Trim()!="")
  791. {
  792. da1.SelectCommand.Parameters[2].Value="%"+txt3.Text.Trim()+"%";
  793. }
  794. //清空数据表,并根据新设置的查询参数重新填充
  795. dataSet11.凭证表.Clear();
  796. da1.Fill(dataSet11);
  797. //显示分录数据
  798. da2.SelectCommand.Parameters[0].Value=txt4.Text.Trim();
  799. newTable.Clear();
  800. da2.Fill(newTable);
  801. dataGrid2.ReadOnly=true;
  802. }
  803. //---------根据指针指向的凭证表数据显示其分录表数据---------
  804. private void dataGrid1_CurrentCellChanged(object sender, System.EventArgs e)
  805. {
  806. da2.SelectCommand.Parameters[0].Value=txt4.Text.Trim();
  807. newTable.Clear();
  808. da2.Fill(newTable);
  809. dataGrid2.ReadOnly=true;
  810. }
  811. //----------双击分录表表格,添加新的分录记录----------
  812. private void dataGrid2_DoubleClick(object sender, System.EventArgs e)
  813. {
  814. if(this.enableDoubleClick==true)
  815. {
  816. this.doubleClicked();
  817. }
  818. }
  819. //--------------确定鼠标在表格中的点击模式--------------
  820. private void dataGrid2_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
  821. {
  822. //获取当前点击鼠标时的时间
  823. DataGrid myGrid   = (DataGrid)sender;
  824. System.Windows.Forms.DataGrid.HitTestInfo myHitTest;
  825. myHitTest = dataGrid2.HitTest(e.X,e.Y);
  826. if ( myHitTest.Type == System.Windows.Forms.DataGrid.HitTestType.Cell )
  827. gridMouseDownTime = DateTime.Now;
  828. }
  829. //------------处理鼠标在dataGrid上的单击事件-----------
  830. private void TextBoxMouseDownHandler(object sender, MouseEventArgs e )
  831. {
  832. //第一个判断条件:在单元格的textbox中的双击(即单击DataCell,使它获得焦点后,然后再响应该Cell中的双击事件)
  833. //第二个判断条件:DataGrid 的 DoubleClick(直接双击Cell就响应双击事件,无须先单击Cell,使它获得焦点,然后再响应双击事件)
  834. //判断时间间隔是否小于控制面板中所定义的双击间隔时间
  835. if((e.Button == MouseButtons.Left && e.Clicks == 2 || DateTime.Now < gridMouseDownTime.AddMilliseconds(SystemInformation.DoubleClickTime))&&(this.enableDoubleClick==true))
  836. {
  837. this.doubleClicked();
  838. }
  839. }
  840. //-------双击分录表表格,添加新的分录数据-----------
  841. private void doubleClicked()
  842. {
  843. newTable.Rows.Add(newTable.NewRow()); //向表中添加一行,保持总有一个新行
  844. SelectSubject newFrm=new SelectSubject();
  845. newFrm.ShowDialog();
  846. int rowNumber=dataGrid2.CurrentCell.RowNumber;
  847. dataGrid2[rowNumber,0]=mID;
  848. dataGrid2[rowNumber,1]=mName;
  849. dataGrid2[rowNumber,2]="0";
  850. dataGrid2[rowNumber,3]="0";
  851. SendKeys.Send("{Tab}");//向活动应用程序发送Tab键,跳到下一控件
  852. }
  853. //------------计算输入的分录表借贷总额-------------
  854. private void dataGrid2_CurrentCellChanged(object sender, System.EventArgs e)
  855. {
  856. if(this.enableDoubleClick==true)
  857. {
  858. int rowCount=newTable.Rows.Count;
  859. decimal debit=0;
  860. decimal loan=0;
  861. for(int i=0;i<rowCount;i++)
  862. {
  863. if(dataGrid2[i,2]!=DBNull.Value)
  864. {
  865. debit+=Convert.ToDecimal(dataGrid2[i,2]);
  866. loan+=Convert.ToDecimal(dataGrid2[i,3]);
  867. }
  868. }
  869. txt9.Text=debit.ToString();
  870. txt10.Text=loan.ToString();
  871. }
  872. }
  873. //--------------工具栏事务处理----------------
  874. private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
  875. {
  876. if (e.Button.ToolTipText == "首记录")
  877. {
  878. this.dataGrid1.UnSelect(cmOrders.Position); //取消原选中的行
  879. cmOrders.Position = 0;
  880. this.dataGrid1.Select(cmOrders.Position); //选中当前行
  881. this.dataGrid1.CurrentRowIndex = cmOrders.Position; //移动表头指示图标
  882. return;
  883. }
  884. if (e.Button.ToolTipText == "上一记录")
  885. {
  886. if (cmOrders.Position >= 0)
  887. {
  888. this.dataGrid1.UnSelect(cmOrders.Position); 
  889. cmOrders.Position--;
  890. this.dataGrid1.Select(cmOrders.Position);      
  891. this.dataGrid1.CurrentRowIndex = cmOrders.Position; 
  892. }
  893. return;
  894. }
  895. if (e.Button.ToolTipText == "下一记录")
  896. {
  897. if (cmOrders.Position <= cmOrders.Count-1)
  898. {
  899. this.dataGrid1.UnSelect(cmOrders.Position); 
  900. cmOrders.Position++;
  901. this.dataGrid1.Select(cmOrders.Position);       
  902. this.dataGrid1.CurrentRowIndex = cmOrders.Position; 
  903. }
  904. return;
  905. }
  906. if (e.Button.ToolTipText == "尾记录")
  907. {
  908. this.dataGrid1.UnSelect(cmOrders.Position); 
  909. cmOrders.Position = cmOrders.Count-1;
  910. this.dataGrid1.Select(cmOrders.Position);       
  911. this.dataGrid1.CurrentRowIndex = cmOrders.Position; 
  912. return;
  913. }
  914. if(e.Button.ToolTipText=="新增")
  915. {
  916. cmOrders.AddNew();
  917. //设置按钮
  918. SetModifyMode(true);
  919. //设置默认值
  920. //查询当前会计期间
  921. string strConn = "workstation id=localhost;Integrated Security=SSPI;database=caiwubook";
  922. SqlConnection cn=new SqlConnection(strConn);
  923. cn.Open();
  924. SqlCommand cmd=cn.CreateCommand();
  925. cmd.CommandText="select 取值 from 系统参数表 where 参数名称='当前会计期间'";
  926. txt7.Text=cmd.ExecuteScalar().ToString();//读入当前会计期间
  927. //自动计算最大编号
  928. cmd.CommandText="select max(凭证编号) 最大编号 from 凭证表";
  929. object maxResult=cmd.ExecuteScalar();
  930. int maxID=1;
  931. if(maxResult!=System.DBNull.Value)//如果当前凭证表为空,则新编号为000001
  932. maxID=Convert.ToInt32(maxResult)+1;
  933. int length=maxID.ToString().Length;
  934. switch(length)
  935. {
  936. case 1:
  937. txt4.Text="00000"+maxID.ToString();
  938. break;
  939. case 2:
  940. txt4.Text="0000"+maxID.ToString();
  941. break;
  942. case 3:
  943. txt4.Text="000"+maxID.ToString();
  944. break;
  945. case 4:
  946. txt4.Text="00"+maxID.ToString();
  947. break;
  948. case 5:
  949. txt4.Text="0"+maxID.ToString();
  950. break;
  951. }
  952. txt5.Text=DateTime.Now.ToShortDateString();//当前时间
  953. txt8.Text="未过";//新增凭证的状态都是"未过"
  954. comboBox1.SelectedText="收";//设置凭证字号
  955. //允许双击分录表表格添加分录数据
  956. this.enableDoubleClick=true;
  957. dataGrid2.ReadOnly=false;
  958. DataGridStateControl();
  959. newTable.Clear();
  960. }
  961. if(e.Button.ToolTipText=="修改")
  962. {
  963. SetModifyMode(true);
  964. this.enableDoubleClick=true;
  965. dataGrid2.ReadOnly=false;
  966. }
  967. if(e.Button.ToolTipText=="删除")
  968. {
  969. DialogResult result=MessageBox.Show("将删除凭证记录以及下属的分录信息,是否确认?","删除数据",MessageBoxButtons.OKCancel);
  970. if(result==DialogResult.OK)
  971. if(cmOrders.Count>0)
  972. {
  973. try
  974. {
  975. string strConn = "workstation id=localhost;Integrated Security=SSPI;database=caiwubook";
  976. SqlConnection cn=new SqlConnection(strConn);
  977. cn.Open();
  978. SqlCommand cmd=cn.CreateCommand();
  979. cmd.CommandText="delete from 分录表 where 凭证编号='"+txt4.Text+"'";//删除分录记录
  980. cmd.ExecuteNonQuery();
  981. cmOrders.RemoveAt(cmOrders.Position);
  982. da1.Update(dataSet11);
  983. }
  984. catch(Exception express)
  985. {
  986. MessageBox.Show(express.ToString(),"错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
  987. return;
  988. }
  989. }
  990. else
  991. MessageBox.Show("表中为空,已无可删除数据","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
  992. }
  993. if(e.Button.ToolTipText=="提交")
  994. {
  995. if(txt9.Text!=txt10.Text)
  996. {
  997. MessageBox.Show("借贷双方不平衡,请检查并修改分录数据后重新输入","错误",MessageBoxButtons.OK,MessageBoxIcon.Warning);
  998. return;
  999. }
  1000. cmOrders.EndCurrentEdit();//结束当前编辑操作并提交修改
  1001. int rowCount=newTable.Rows.Count;
  1002. if(rowCount==0)
  1003. {
  1004. MessageBox.Show("请先输入凭证表分录数据后再保存","警告",MessageBoxButtons.OK,MessageBoxIcon.Error);
  1005. return;
  1006. }
  1007. try
  1008. {
  1009. if (dataSet11.GetChanges()!=null)
  1010. {
  1011. this.da1.Update(dataSet11);//首先,先保存凭证信息
  1012. }
  1013. string strConn = "workstation id=localhost;Integrated Security=SSPI;database=caiwubook";
  1014. SqlConnection cn=new SqlConnection(strConn);
  1015. cn.Open();
  1016. SqlCommand cmd=cn.CreateCommand();
  1017. cmd.CommandText="delete from 分录表 where 凭证编号='"+txt4.Text+"'";
  1018. cmd.ExecuteNonQuery();//其次,再将该凭证信息对应的分录记录删除
  1019. for(int i=0;i<rowCount;i++)//最后,再逐行重新插入分录数据
  1020. {
  1021. if(dataGrid2[i,0].ToString().Trim()!="")//如该行数据为空,则不保存该行
  1022. {
  1023. cmd.CommandText="insert into 分录表([凭证编号], [摘要], [科目代码], [借方], [贷方]) "
  1024. +"values('"+txt4.Text+"','"+dataGrid2[i,4].ToString()+"','"+dataGrid2[i,0].ToString()
  1025. +"',CAST('"+dataGrid2[i,2].ToString()+"'as money),CAST('"+dataGrid2[i,3].ToString()+"' as money))";
  1026. cmd.ExecuteNonQuery();
  1027. }
  1028. }
  1029. this.enableDoubleClick=false;
  1030. }
  1031. catch(Exception express)
  1032. {
  1033. MessageBox.Show(express.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
  1034. dataSet11.RejectChanges();
  1035. }
  1036. SetModifyMode(false);
  1037. return;
  1038. }
  1039. if (e.Button.ToolTipText == "取消")
  1040. {
  1041. try
  1042. {
  1043. cmOrders.CancelCurrentEdit();  //取消编辑
  1044. SetModifyMode(false);
  1045. if(txt4.Text.Trim()!="")//恢复显示明细信息
  1046. {
  1047. da2.SelectCommand.Parameters[0].Value=txt4.Text.Trim();
  1048. newTable.Clear();
  1049. da2.Fill(newTable);
  1050. dataGrid2.ReadOnly=true;
  1051. }
  1052. }
  1053. catch(Exception express)
  1054. {
  1055. MessageBox.Show(express.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
  1056. }
  1057. return;
  1058. }
  1059. if(e.Button.ToolTipText=="退出")
  1060. {
  1061. this.Close();
  1062. }
  1063. }
  1064. //--------------对控件的属性做设置---------------
  1065. private void SetModifyMode(bool blnEdit)
  1066. {
  1067. //设置文本框和下拉列表框属性
  1068. txt4.ReadOnly=!blnEdit;
  1069. txt5.ReadOnly=!blnEdit;
  1070. comboBox1.Enabled=blnEdit;
  1071. //设置搜索按钮属性
  1072. btnSearch.Enabled=!blnEdit;
  1073. //设置两个表格的ReadOnly属性
  1074. dataGrid1.ReadOnly=!blnEdit;
  1075. dataGrid2.ReadOnly=!blnEdit;
  1076. }
  1077. }
  1078. }