FrmScrap.cs 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Server;
  3. using Core.Mes.Client.Comm.Tool;
  4. using Core.StlMes.Client.ZGMil.Result;
  5. using CoreFS.CA06;
  6. using Infragistics.Win;
  7. using Infragistics.Win.UltraWinGrid;
  8. using System;
  9. using System.Collections;
  10. using System.Collections.Generic;
  11. using System.ComponentModel;
  12. using System.Data;
  13. using System.Drawing;
  14. using System.Linq;
  15. using System.Text;
  16. using System.Windows.Forms;
  17. namespace Core.StlMes.Client.ZGMil.NodeResultQuery
  18. {
  19. public partial class FrmScrap : FrmBase
  20. {
  21. private ArrayList list = null;
  22. private string plineCode = "";
  23. public FrmScrap(ArrayList arr,string pline_Code,OpeBase ob)
  24. {
  25. InitializeComponent();
  26. list = arr;
  27. this.ob = ob;
  28. plineCode = pline_Code;
  29. }
  30. /// <summary>
  31. /// 查询所有合格管序号
  32. /// </summary>
  33. private void QuerySeq(ArrayList list)
  34. {
  35. DataTable ds = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.doQuerySeq", new object[] { list }, ob);
  36. GridHelper.CopyDataToDatatable(ref ds, ref dataTable4, true);
  37. }
  38. public string alamNum = "";
  39. public string scrapNum = "";
  40. public string testOfflineNum = "";
  41. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  42. {
  43. switch (e.Tool.Key)
  44. {
  45. case "Save":
  46. Save();
  47. break;
  48. case "Close":
  49. CloseFrm();
  50. break;
  51. }
  52. }
  53. int alarmTotalNum = 0;//报警总支数
  54. int scarpTotalNum = 0;//废品总支数
  55. int offlineTotalNum = 0;//下线总支数
  56. private void CloseFrm()
  57. {
  58. alamNum = alarmTotalNum.ToString();
  59. scrapNum = scarpTotalNum.ToString();
  60. testOfflineNum = offlineTotalNum.ToString();
  61. this.DialogResult = System.Windows.Forms.DialogResult.OK;
  62. this.Close();
  63. }
  64. /// <summary>
  65. /// 保存可疑、剔除品
  66. /// </summary>
  67. private void Save()
  68. {
  69. this.ultraGridDetailDes1.UpdateData();
  70. this.ultraGridDetailDes2.UpdateData();
  71. this.ultraGridDetailDes3.UpdateData();
  72. string strInbound = "800707";//入库类型
  73. string strInMemo = "";
  74. alarmTotalNum = 0;
  75. scarpTotalNum = 0;
  76. offlineTotalNum = 0;
  77. IQueryable<UltraGridRow> checkAlarmRows = this.ultraGridDetailDes1.Rows.AsQueryable().Where(" CHK = 'True'");
  78. IQueryable<UltraGridRow> checkScrapRows = this.ultraGridDetailDes2.Rows.AsQueryable().Where(" CHK = 'True'");
  79. IQueryable<UltraGridRow> checkOffineRow = this.ultraGridDetailDes3.Rows.AsQueryable().Where(" CHK = 'True'");
  80. ArrayList alarmlist = new ArrayList();
  81. ArrayList scraplist = new ArrayList();
  82. ArrayList offlinelist = new ArrayList();
  83. foreach (UltraGridRow uRow in checkAlarmRows)
  84. {
  85. ArrayList list1 = new ArrayList();
  86. if (uRow.Cells["REASON"].Value.ToString() == "")
  87. {
  88. MessageUtil.ShowTips("报警品原因不能为空,请选择!");
  89. return;
  90. }
  91. if (uRow.Cells["ACT_COUNT"].Value.ToString() == "" || uRow.Cells["ACT_COUNT"].Value.ToString() == "0")
  92. {
  93. MessageUtil.ShowTips("报警支数不能为空或者为零支,请输入!");
  94. return;
  95. }
  96. if (!uRow.Cells["ACT_COUNT"].Value.ToString().TryParseInt())
  97. {
  98. MessageUtil.ShowTips("报警支数请输入整数!");
  99. return;
  100. }
  101. alarmTotalNum = alarmTotalNum + int.Parse(uRow.Cells["ACT_COUNT"].Value.ToString3());
  102. list1.Add(uRow.Cells["REASON"].Text.Trim());
  103. list1.Add(uRow.Cells["ACT_COUNT"].Value.ToString3());
  104. list1.Add(alarmTotalNum.ToString());
  105. alarmlist.Add(list1);
  106. }
  107. int n = 0;
  108. foreach (UltraGridRow ugr in checkScrapRows)
  109. {
  110. string alarmReason = ugr.Cells["REASON1"].Text.Trim();
  111. int num = 0;
  112. foreach (UltraGridRow ugr1 in checkAlarmRows)
  113. {
  114. if (ugr1.Cells["REASON"].Text.Trim().Equals(alarmReason))
  115. {
  116. num = num + int.Parse(ugr1.Cells["ACT_COUNT"].Value.ToString3());
  117. }
  118. }
  119. if (num < int.Parse(ugr.Cells["ACT_COUNT"].Value.ToString3()))
  120. {
  121. n = n + 1;
  122. }
  123. }
  124. if (n > 0)
  125. {
  126. MessageUtil.ShowTips("废品支数不能超出对应的报警原因下的支数!");
  127. return;
  128. }
  129. foreach (UltraGridRow row in checkScrapRows)
  130. {
  131. ArrayList list2 = new ArrayList();
  132. if (row.Cells["REASON1"].Value.ToString2() == "")
  133. {
  134. MessageUtil.ShowTips("报警原因不能为空,请选择!");
  135. return;
  136. }
  137. if (row.Cells["REASON"].Value.ToString() == "")
  138. {
  139. MessageUtil.ShowTips("废品原因不能为空,请选择!");
  140. return;
  141. }
  142. if (row.Cells["ACT_COUNT"].Value.ToString() == "" || row.Cells["ACT_COUNT"].Value.ToString() == "0")
  143. {
  144. MessageUtil.ShowTips("废品支数不能为空或者为零支,请输入!");
  145. return;
  146. }
  147. if (!row.Cells["ACT_COUNT"].Value.ToString().TryParseInt())
  148. {
  149. MessageUtil.ShowTips("废品支数请输入整数!");
  150. return;
  151. }
  152. scarpTotalNum = scarpTotalNum + int.Parse(row.Cells["ACT_COUNT"].Value.ToString3());
  153. list2.Add(row.Cells["REASON"].Text.Trim());
  154. list2.Add(row.Cells["ACT_COUNT"].Value.ToString3());
  155. list2.Add(scarpTotalNum.ToString());
  156. list2.Add(row.Cells["REASON1"].Text.Trim());
  157. scraplist.Add(list2);
  158. }
  159. foreach (UltraGridRow offlineRow in checkOffineRow)
  160. {
  161. ArrayList list3 = new ArrayList();
  162. if (offlineRow.Cells["REASON"].Value.ToString() == "")
  163. {
  164. MessageUtil.ShowTips("下线品原因不能为空,请选择!");
  165. return;
  166. }
  167. if (offlineRow.Cells["ACT_COUNT"].Value.ToString() == "" || offlineRow.Cells["ACT_COUNT"].Value.ToString() == "0")
  168. {
  169. MessageUtil.ShowTips("下线支数不能为空或者为零支,请输入!");
  170. return;
  171. }
  172. if (!offlineRow.Cells["ACT_COUNT"].Value.ToString().TryParseInt())
  173. {
  174. MessageUtil.ShowTips("下线支数请输入整数!");
  175. return;
  176. }
  177. offlineTotalNum = offlineTotalNum + int.Parse(offlineRow.Cells["ACT_COUNT"].Value.ToString3());
  178. list3.Add(offlineRow.Cells["REASON"].Text.Trim());
  179. list3.Add(offlineRow.Cells["ACT_COUNT"].Value.ToString3());
  180. list3.Add(offlineTotalNum.ToString());
  181. offlinelist.Add(list3);
  182. }
  183. DataTable dtMemo = PipeManageClass.getComTypeInfo(strInbound, ob);
  184. if (dtMemo.Rows.Count >= 1)
  185. {
  186. strInMemo = dtMemo.Rows[0]["MEMO"].ToString();
  187. }
  188. if (scarpTotalNum + offlineTotalNum - alarmTotalNum > 0)
  189. {
  190. MessageUtil.ShowTips("废品和已探伤下线都是在报警品之下,废品支数加已探伤下线支数不能大于报警支数!");
  191. return;
  192. }
  193. DataTable ds1 = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.doQueryPort", new object[] { list[0].ToString(), plineCode }, ob);
  194. DataTable dtxx = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmOffLine.doQueryXxOfflinNum", new object[] { list[2].ToString(), plineCode, list[6].ToString(), list[7].ToString() }, ob);
  195. if (dtxx.Rows.Count > 0)
  196. {
  197. int xxOfflineNum = int.Parse(dtxx.Rows[0]["OFFLINE_NUM"].ToString3());
  198. if (scarpTotalNum + offlineTotalNum + xxOfflineNum > int.Parse(ds1.Rows[0]["QUALIFIED_NUM"].ToString3()))
  199. {
  200. MessageBox.Show("交库点已交库和离线了" + xxOfflineNum + "支,请确认数据再做离线!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  201. return;
  202. }
  203. }
  204. ArrayList parm = new ArrayList();
  205. DataTable ds = getStoreNo(plineCode);
  206. if (ds == null)
  207. {
  208. MessageUtil.ShowTips("无轧管在线库基础信息,请维护!");
  209. return;
  210. }
  211. parm.Add(ds.Rows[0]["STORAGE_NO"].ToString());
  212. parm.Add(ds.Rows[0]["STORAGE_NO"].ToString() + "10101");
  213. parm.Add(ds.Rows[0]["STORAGE_TYPE_NO"].ToString());
  214. parm.Add(ds.Rows[0]["STORAGE_TYPE_NAME"].ToString());
  215. parm.Add(this.UserInfo.GetUserName());
  216. parm.Add(this.UserInfo.GetDeptid());
  217. parm.Add(this.UserInfo.GetDepartment());
  218. parm.Add(PipeManageClass.GetDepartIdBySectionId(this.UserInfo.GetDeptid(), this.ob));
  219. parm.Add(PipeManageClass.GetDepartBySectionId(this.UserInfo.GetDeptid(), this.ob));
  220. parm.Add(UserInfo.GetUserOrder());
  221. parm.Add(UserInfo.GetUserGroup());
  222. CoreClientParam ccp = new CoreClientParam();
  223. ccp.ServerName = "com.steering.mes.zgmil.coup.EddyCurrentTestingResult";
  224. ccp.MethodName = "saveScrapData";
  225. ccp.ServerParams = new object[] { alarmlist, scraplist, offlinelist, list, strInbound, strInMemo, plineCode, parm };
  226. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  227. if (ccp.ReturnCode != -1)
  228. {
  229. if (ccp.ReturnInfo.Equals("保存成功!"))
  230. {
  231. alamNum = alarmTotalNum.ToString();
  232. scrapNum = scarpTotalNum.ToString();
  233. testOfflineNum = offlineTotalNum.ToString();
  234. this.DialogResult = System.Windows.Forms.DialogResult.OK;
  235. }
  236. else
  237. {
  238. MessageUtil.ShowTips(ccp.ReturnInfo);
  239. }
  240. }
  241. }
  242. /// <summary>
  243. /// 查询仓库信息
  244. /// </summary>
  245. /// <param name="plineCode"></param>
  246. /// <returns></returns>
  247. private DataTable getStoreNo(string plineCode)
  248. {
  249. DataTable ds = ServerHelper.GetData("com.steering.mes.signature.FrmInOnlineStore.doQueryStoreNo", new object[] { plineCode }, ob);
  250. if (ds.Rows.Count > 0)
  251. {
  252. return ds;
  253. }
  254. else
  255. {
  256. return null;
  257. }
  258. }
  259. private void FrmScrap_Load(object sender, EventArgs e)
  260. {
  261. Init(plineCode);
  262. doQuery();
  263. //QuerySeq(list);
  264. }
  265. public void Init(string plineCode)
  266. {
  267. ValueList va1 = new ValueList();
  268. ValueList va2 = new ValueList();
  269. ValueList va3 = new ValueList();
  270. ValueList va4 = new ValueList();
  271. if (plineCode != null)
  272. {
  273. if (plineCode.Equals("C009") || plineCode.Equals("C017") || plineCode.Equals("C008") || plineCode.Equals("C072"))
  274. {
  275. va1.ValueListItems.Add("");
  276. va1.ValueListItems.Add("LOD");
  277. va1.ValueListItems.Add("LID");
  278. va1.ValueListItems.Add("TOD");
  279. va1.ValueListItems.Add("TID");
  280. va4.ValueListItems.Add("");
  281. va4.ValueListItems.Add("LOD");
  282. va4.ValueListItems.Add("LID");
  283. va4.ValueListItems.Add("TOD");
  284. va4.ValueListItems.Add("TID");
  285. va2.ValueListItems.Add("");
  286. va2.ValueListItems.Add("内折");
  287. va2.ValueListItems.Add("内结疤");
  288. va2.ValueListItems.Add("内划伤");
  289. va2.ValueListItems.Add("拉凹");
  290. va2.ValueListItems.Add("内棱");
  291. va2.ValueListItems.Add("取样废");
  292. va2.ValueListItems.Add("内壁伤");
  293. va2.ValueListItems.Add("内鼓包");
  294. va2.ValueListItems.Add("外折");
  295. va2.ValueListItems.Add("外结疤");
  296. va2.ValueListItems.Add("外划伤");
  297. va2.ValueListItems.Add("裂纹");
  298. va2.ValueListItems.Add("靑线");
  299. va2.ValueListItems.Add("轧折");
  300. va2.ValueListItems.Add("碰伤");
  301. va2.ValueListItems.Add("孔洞");
  302. va2.ValueListItems.Add("其他");
  303. va3.ValueListItems.Add("");
  304. va3.ValueListItems.Add("内折");
  305. va3.ValueListItems.Add("内结疤");
  306. va3.ValueListItems.Add("内划伤");
  307. va3.ValueListItems.Add("拉凹");
  308. va3.ValueListItems.Add("内棱");
  309. va3.ValueListItems.Add("取样废");
  310. va3.ValueListItems.Add("内壁伤");
  311. va3.ValueListItems.Add("内鼓包");
  312. va3.ValueListItems.Add("外折");
  313. va3.ValueListItems.Add("外结疤");
  314. va3.ValueListItems.Add("外划伤");
  315. va3.ValueListItems.Add("裂纹");
  316. va3.ValueListItems.Add("靑线");
  317. va3.ValueListItems.Add("轧折");
  318. va3.ValueListItems.Add("碰伤");
  319. va3.ValueListItems.Add("孔洞");
  320. va3.ValueListItems.Add("其他");
  321. }
  322. else if (plineCode.Equals("C010"))
  323. {
  324. va1.ValueListItems.Add("");
  325. va1.ValueListItems.Add("孔洞");
  326. va1.ValueListItems.Add("外折");
  327. va1.ValueListItems.Add("划伤");
  328. va1.ValueListItems.Add("内伤");
  329. va1.ValueListItems.Add("误报");
  330. va2.ValueListItems.Add("");
  331. va2.ValueListItems.Add("孔洞");
  332. va2.ValueListItems.Add("外折");
  333. va2.ValueListItems.Add("内伤");
  334. va3.ValueListItems.Add("");
  335. va3.ValueListItems.Add("孔洞");
  336. va3.ValueListItems.Add("外折");
  337. va3.ValueListItems.Add("内伤");
  338. va4.ValueListItems.Add("");
  339. va4.ValueListItems.Add("孔洞");
  340. va4.ValueListItems.Add("外折");
  341. va4.ValueListItems.Add("划伤");
  342. va4.ValueListItems.Add("内伤");
  343. va4.ValueListItems.Add("误报");
  344. //this.ultraGridDetailDes2.DisplayLayout.Bands[0].Columns["REASON1"].Hidden = true;
  345. }
  346. }
  347. this.ultraGridDetailDes1.DisplayLayout.Bands[0].Columns["REASON"].ValueList = va1;
  348. this.ultraGridDetailDes2.DisplayLayout.Bands[0].Columns["REASON"].ValueList = va2;
  349. this.ultraGridDetailDes3.DisplayLayout.Bands[0].Columns["REASON"].ValueList = va3;
  350. this.ultraGridDetailDes2.DisplayLayout.Bands[0].Columns["REASON1"].ValueList = va4;
  351. }
  352. /// <summary>
  353. /// 查询可疑品、剔除品
  354. /// </summary>
  355. public void doQuery()
  356. {
  357. dataTable1.Clear();
  358. dataTable2.Clear();
  359. dataTable3.Clear();
  360. DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.doQueryAlarmNum", new object[] { list }, ob);
  361. GridHelper.CopyDataToDatatable(ref dt,ref dataTable1,true);
  362. DataTable ds = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.doQueryScrapNum", new object[] { list }, ob);
  363. GridHelper.CopyDataToDatatable(ref ds, ref dataTable2, true);
  364. DataTable dd = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.doQueryOffineNum", new object[] { list }, ob);
  365. GridHelper.CopyDataToDatatable(ref dd, ref dataTable3, true);
  366. }
  367. private void ultraGridDetailDes1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  368. {
  369. UltraGrid ug = (UltraGrid)sender;
  370. this.ultraGridDetailDes1.UpdateData();
  371. if (e.Cell.Column.Key == "REASON")
  372. {
  373. if (e.Cell.Value == "")
  374. {
  375. MessageBox.Show("您未选择任何选项,请重新选择", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  376. return;
  377. }
  378. int temp = 0;
  379. for (int i = 0; i < ug.Rows.Count(); i++)
  380. {
  381. UltraGridRow ugr = ug.Rows[i];
  382. if (e.Cell.Value.ToString().Equals(ugr.Cells["REASON"].Value.ToString()))
  383. {
  384. temp = temp + 1;
  385. }
  386. }
  387. if (temp > 1)
  388. {
  389. MessageBox.Show(e.Cell.Value.ToString() + "选项已被选取,请重新选择", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  390. e.Cell.Row.Cells["REASON"].Value = "";
  391. }
  392. }
  393. //if(e.Cell.Column.Key == "ACT_COUNT")
  394. //{
  395. // int total = 0;
  396. // foreach(UltraGridRow row in this.ultraGridDetailDes1.Rows)
  397. // {
  398. // if (Convert.ToBoolean(row.Cells["CHK"].Text) == true)
  399. // {
  400. // total = total + int.Parse(row.Cells["ACT_COUNT"].Value.ToString3());
  401. // }
  402. // }
  403. // ultraGrid1.BeginUpdate();
  404. // foreach (UltraGridRow uRow in this.ultraGrid1.Rows)
  405. // {
  406. // if (total >= uRow.Index + 1)
  407. // {
  408. // uRow.Cells["CHK1"].Value = true;
  409. // }
  410. // else
  411. // {
  412. // uRow.Cells["CHK1"].Value = false;
  413. // }
  414. // }
  415. // ultraGrid1.EndUpdate();
  416. //}
  417. }
  418. private void ultraGridDetailDes2_CellChange(object sender, CellEventArgs e)
  419. {
  420. UltraGrid ug = (UltraGrid)sender;
  421. this.ultraGridDetailDes2.UpdateData();
  422. if (e.Cell.Column.Key == "REASON")
  423. {
  424. if (e.Cell.Value == "")
  425. {
  426. MessageBox.Show("您未选择任何选项,请重新选择", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  427. return;
  428. }
  429. int temp = 0;
  430. for (int i = 0; i < ug.Rows.Count(); i++)
  431. {
  432. UltraGridRow ugr = ug.Rows[i];
  433. if (e.Cell.Value.ToString().Equals(ugr.Cells["REASON"].Value.ToString()) && e.Cell.Row.Cells["REASON1"].Value.ToString2().Equals(ugr.Cells["REASON1"].Value.ToString2()))
  434. {
  435. temp = temp + 1;
  436. }
  437. }
  438. if (temp > 1)
  439. {
  440. MessageBox.Show(e.Cell.Value.ToString() + "选项已被选取,请重新选择", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  441. e.Cell.Row.Cells["REASON"].Value = "";
  442. }
  443. }
  444. if (e.Cell.Column.Key == "REASON1")
  445. {
  446. if (e.Cell.Value == "")
  447. {
  448. MessageBox.Show("您未选择任何选项,请重新选择", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  449. return;
  450. }
  451. int temp1 = 0;
  452. for (int i = 0; i < ug.Rows.Count(); i++)
  453. {
  454. UltraGridRow ugr = ug.Rows[i];
  455. if (e.Cell.Value.ToString().Equals(ugr.Cells["REASON1"].Value.ToString()) && e.Cell.Row.Cells["REASON"].Value.ToString2().Equals(ugr.Cells["REASON"].Value.ToString2()))
  456. {
  457. temp1 = temp1 + 1;
  458. }
  459. }
  460. if (temp1 > 1)
  461. {
  462. MessageBox.Show(e.Cell.Value.ToString() + "选项已被选取,请重新选择", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  463. e.Cell.Row.Cells["REASON"].Value = "";
  464. }
  465. }
  466. //if (e.Cell.Column.Key == "ACT_COUNT")
  467. //{
  468. // int total = 0;
  469. // foreach (UltraGridRow row in this.ultraGridDetailDes2.Rows)
  470. // {
  471. // if (Convert.ToBoolean(row.Cells["CHK"].Text) == true)
  472. // {
  473. // total = total + int.Parse(row.Cells["ACT_COUNT"].Value.ToString3());
  474. // }
  475. // }
  476. // ultraGrid1.BeginUpdate();
  477. // IQueryable<UltraGridRow> checkAlarmRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK1 = 'True' and CHK3 = 'False' ORDER BY TO_NUMBER(SEQ) ASC");
  478. // if (checkAlarmRows.Count() < total)
  479. // {
  480. // MessageUtil.ShowTips("废品总支数不能大于报警总支数");
  481. // return;
  482. // }
  483. // else
  484. // {
  485. // int i = 1;
  486. // foreach (UltraGridRow uRow in checkAlarmRows)
  487. // {
  488. // uRow.Cells["CHK2"].Value = false;
  489. // if (i <= total)
  490. // {
  491. // uRow.Cells["CHK2"].Value = true;
  492. // }
  493. // i++;
  494. // }
  495. // }
  496. // ultraGrid1.EndUpdate();
  497. //}
  498. }
  499. private void ultraGridDetailDes3_CellChange(object sender, CellEventArgs e)
  500. {
  501. UltraGrid ug = (UltraGrid)sender;
  502. this.ultraGridDetailDes3.UpdateData();
  503. if (e.Cell.Column.Key == "REASON")
  504. {
  505. if (e.Cell.Value == "")
  506. {
  507. MessageBox.Show("您未选择任何选项,请重新选择", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  508. return;
  509. }
  510. int temp = 0;
  511. for (int i = 0; i < ug.Rows.Count(); i++)
  512. {
  513. UltraGridRow ugr = ug.Rows[i];
  514. if (e.Cell.Value.ToString().Equals(ugr.Cells["REASON"].Value.ToString()))
  515. {
  516. temp = temp + 1;
  517. }
  518. }
  519. if (temp > 1)
  520. {
  521. MessageBox.Show(e.Cell.Value.ToString() + "选项已被选取,请重新选择", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  522. e.Cell.Row.Cells["REASON"].Value = "";
  523. }
  524. }
  525. }
  526. private void FrmScrap_Leave(object sender, EventArgs e)
  527. {
  528. FrmTestingResult frmTestingResult = new FrmTestingResult();
  529. frmTestingResult.ETResultSave();
  530. }
  531. }
  532. }