FrmBaseChemStdSteelSelect.cs 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using CoreFS.CA06;
  10. using Infragistics.Win.UltraWinGrid;
  11. using Core.Mes.Client.Comm.Tool;
  12. using System.Collections;
  13. using Core.Mes.Client.Comm.Control;
  14. using Core.Mes.Client.Comm.Server;
  15. namespace Core.StlMes.Client.Lims.Data.PipeAndOutdec
  16. {
  17. public partial class FrmBaseChemStdSteelSelect : FrmBase
  18. {
  19. private string Departm = "";//部门
  20. public FrmBaseChemStdSteelSelect()
  21. {
  22. InitializeComponent();
  23. }
  24. protected override void OnLoad(EventArgs e)
  25. {
  26. base.OnLoad(e);
  27. //ultraGrid5.DisplayLayout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.Default;
  28. //ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  29. //ultraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  30. ultraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  31. ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  32. ultraGrid4.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  33. ultraGrid5.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  34. }
  35. private void FrmBaseChemStdSteelSelect_Load(object sender, EventArgs e)
  36. {
  37. Departm = this.UserInfo.GetDeptid();
  38. InitColumns();
  39. RefreshBaseData();
  40. //RefreshUltraGridAutoSize();
  41. }
  42. private void InitColumns()
  43. {
  44. string[] chemMax = PublicPipeAndOutdec.chemMax.Split(' ');
  45. string[] chemMin = PublicPipeAndOutdec.chemMin.Split(' ');
  46. string[] arrColumnsBase = new string[] { "SAMPLE_NO", "STEEL_NO" };
  47. string[] arrCaptionBase = new string[] { "标钢编号", "钢号" };
  48. PublicPipeAndOutdec.InitColumns(arrColumnsBase, chemMax, arrCaptionBase, chemMin, dataTable5);
  49. PublicPipeAndOutdec.setOtherColumnReadOnly(ultraGrid5, chemMax);//可编辑列
  50. }
  51. /// <summary>
  52. /// 重写基类方法
  53. /// </summary>
  54. /// <param name="sender"></param>
  55. /// <param name="ToolbarKey"></param>
  56. public override void ToolBar_Click(object sender, string ToolbarKey)
  57. {
  58. //新增、修改修约值、审核、删除、退出
  59. switch (ToolbarKey)
  60. {
  61. case "Refresh":
  62. RefreshBaseData();
  63. break;
  64. case "Confirm":
  65. SaveChemStdSteelSelect();
  66. break;
  67. case "Delete":
  68. DeleteChemStdSteelSelect();
  69. break;
  70. case "Check":
  71. CheckValid();
  72. break;
  73. case "Clear":
  74. ClearNowRules();
  75. break;
  76. case "Close":
  77. if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
  78. {
  79. this.Close();
  80. }
  81. break;
  82. }
  83. }
  84. //刷新可选钢种和标钢
  85. /// <summary>
  86. /// 刷新可选钢种和标钢
  87. /// </summary>
  88. private void RefreshUltraGridAutoSize()
  89. {
  90. //GridHelper.RefreshAndAutoSize(ultraGrid2);
  91. //GridHelper.RefreshAndAutoSize(ultraGrid4);
  92. //UltraGridColumn[] cols5 = new UltraGridColumn[] { ultraGrid5.DisplayLayout.Bands[0].Columns["SAMPLE_NO"], ultraGrid5.DisplayLayout.Bands[0].Columns["STEEL_NO"] };
  93. //GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid5, cols5);
  94. }
  95. //刷新可选钢种和标钢
  96. /// <summary>
  97. /// 刷新可选钢种和标钢
  98. /// </summary>
  99. private void RefreshBaseData()
  100. {
  101. QuerySteelNo();
  102. QueryChemStdSteelInfo();
  103. }
  104. //检查修约规则的有效性
  105. /// <summary>
  106. /// 检查修约规则的有效性
  107. /// </summary>
  108. private void CheckValid()
  109. {
  110. foreach (DataRow dr in dataTable4.Rows)
  111. {
  112. if (dr["SAMPLE_NO"].ToString() == "")
  113. {
  114. MessageUtil.ShowWarning("元素" + dr["ELEMENTS"] + "没有维护修约规则!");
  115. return;
  116. }
  117. //}else if()
  118. //{
  119. //}
  120. }
  121. }
  122. //查询未维护钢种
  123. /// <summary>
  124. /// 查询未维护钢种
  125. /// </summary>
  126. private void QuerySteelNo()
  127. {
  128. try
  129. {
  130. string steelNo = this.txtSTEEL_NO.Text.Trim();
  131. DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseSelectItems.QuerySteelNo",
  132. new Object[] { steelNo }, ob);
  133. if (dt == null || dt.Rows.Count == 0)
  134. {
  135. txtSTEEL_NO.Text = "";
  136. dataTable1.Rows.Clear();
  137. MessageUtil.ShowWarning("找不到钢种!");
  138. return;
  139. }
  140. GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1
  141. GridHelper.RefreshAndAutoSize(ultraGrid1);
  142. DataTable dtHave = PublicServer.GetData("com.steering.lims.data.base.FrmBaseChemStdSteelSelect.QueryChemStdSteelSelect_Distinct",
  143. new Object[] { steelNo, Departm }, ob);
  144. if (dtHave != null && dtHave.Rows.Count > 0)
  145. {
  146. foreach (UltraGridRow dr in ultraGrid1.Rows)
  147. {
  148. if (dtHave.Select("STEEL_NO = '" + dr.Cells["STEEL_NO"].Text + "'").Length > 0)
  149. {
  150. dr.Appearance.BackColor = Color.GreenYellow;
  151. }
  152. }
  153. }
  154. }
  155. catch (Exception e)
  156. {
  157. MessageUtil.ShowWarning(e.Message);
  158. return;
  159. }
  160. }
  161. //查询标钢
  162. /// <summary>
  163. /// 查询标钢
  164. /// </summary>
  165. private void QueryChemStdSteelInfo()
  166. {
  167. try
  168. {
  169. ArrayList al = new ArrayList();
  170. al.Add("");
  171. al.Add("");
  172. al.Add("");
  173. al.Add("");
  174. DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseChemStdSteel.QueryChemStdSteelInfo",
  175. new Object[] { }, ob);//al
  176. if (dt == null || dt.Rows.Count == 0)
  177. {
  178. dataTable3.Rows.Clear();
  179. dataTable2.Rows.Clear();
  180. MessageUtil.ShowWarning("没有可选标钢!");
  181. return;
  182. }
  183. GridHelper.CopyDataToDatatable(dt, dataTable2, true);//把dt复制给dataTable1
  184. GridHelper.RefreshAndAutoSize(ultraGrid2);
  185. }
  186. catch (Exception e)
  187. {
  188. MessageUtil.ShowWarning(e.Message);
  189. return;
  190. }
  191. }
  192. //查询标钢
  193. /// <summary>
  194. /// 查询标钢
  195. /// </summary>
  196. private void QueryChemStdSteelSelect()
  197. {
  198. try
  199. {
  200. if (ultraGrid1.ActiveRow != null && ultraGrid1.ActiveRow.Activated == true)
  201. {
  202. ArrayList al = new ArrayList();
  203. al.Add(ultraGrid1.ActiveRow.Cells["STEEL_NO"].Text.Trim().ToUpper());
  204. al.Add(Departm);
  205. DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseChemStdSteelSelect.QueryChemStdSteelSelect",
  206. new Object[] { al }, ob);
  207. //dataTable3.Rows.Clear();
  208. dataTable4.Rows.Clear();
  209. dataTable5.Rows.Clear();
  210. if (dt == null || dt.Rows.Count == 0)
  211. {
  212. //MessageUtil.ShowWarning("没有可选标钢!");
  213. return;
  214. }
  215. DataRow[] arrDr = null;
  216. DataRow newDr;
  217. foreach (DataRow dr in dt.Rows)
  218. {
  219. //已经选择的修约规则要打钩
  220. newDr = dataTable5.NewRow();
  221. newDr["STEEL_NO"] = dr["SELECT_STEEL_NO"];
  222. newDr["SAMPLE_NO"] = dr["SAMPLE_NO"];
  223. foreach (DataColumn dc in dt.Columns)
  224. {
  225. if (dc.ColumnName.IndexOf("ANA_") == 0)
  226. {
  227. if (dataTable5.Columns.Contains(dc.ColumnName))
  228. {
  229. if (dr[dc.ColumnName].ToString() == "1")
  230. {
  231. newDr[dc.ColumnName] = "√";
  232. }
  233. else
  234. {
  235. newDr[dc.ColumnName] = "";
  236. }
  237. }
  238. }
  239. }
  240. dataTable5.Rows.Add(newDr);
  241. }
  242. //RefreshUltraGridAutoSize();
  243. GridHelper.RefreshAndAutoSize(ultraGrid5);
  244. }
  245. }
  246. catch (Exception e)
  247. {
  248. MessageUtil.ShowWarning(e.Message);
  249. return;
  250. }
  251. }
  252. //确认修约规则
  253. /// <summary>
  254. /// 确认修约规则
  255. /// </summary>
  256. private void SaveChemStdSteelSelect()
  257. {
  258. try
  259. {
  260. string steelNo = this.txtSTEEL_NO.Text.Trim();
  261. DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseSelectItems.QuerySteelNo",
  262. new Object[] { steelNo }, ob);
  263. if (dt == null || dt.Rows.Count == 0)
  264. {
  265. MessageUtil.ShowWarning("没有钢种【" + this.txtSTEEL_NO.Text.Trim() + "】,请联系标准科维护新钢种!");
  266. return;
  267. }
  268. //if (dataTable2.Select("CHK = 'True'").Length == 0)
  269. //{
  270. // MessageUtil.ShowWarning("请挑选修约规则再保存!");
  271. // return;
  272. //}
  273. if (MessageUtil.ShowYesNoAndQuestion("是否确认保存此修约规则?") == DialogResult.Yes)
  274. {
  275. string strSTEEL_NO = ultraGrid1.ActiveRow.Cells["STEEL_NO"].Text.Trim();//选择钢号
  276. string strSELECT_NAME = UserInfo.GetUserName();//选择人
  277. string strSELECT_TIME = DateTime.Now.ToString(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));//选择时间
  278. string strSELECT_SHIFT = UserInfo.GetUserOrderText();//选择班次
  279. string strSELECT_CLASS = UserInfo.GetUserGroupText();//选择班组
  280. ArrayList alAll = new ArrayList();
  281. ArrayList alDelete = new ArrayList();
  282. ArrayList alSelect = new ArrayList();//存放参数集合
  283. ArrayList alDeleteParams = new ArrayList();
  284. ArrayList alSelectParams = new ArrayList();//存放单条参数
  285. alDeleteParams.Add(strSTEEL_NO);
  286. alDeleteParams.Add(Departm);
  287. alDelete.Add(alDeleteParams);
  288. ultraGrid5.UpdateData();
  289. foreach (DataRow dr in dataTable5.Rows)
  290. {
  291. //alSelect = new ArrayList();
  292. alSelectParams = new ArrayList();
  293. alSelectParams.Add(strSTEEL_NO);
  294. alSelectParams.Add(strSELECT_NAME);
  295. alSelectParams.Add(strSELECT_TIME);
  296. alSelectParams.Add(strSELECT_SHIFT);
  297. alSelectParams.Add(strSELECT_CLASS);
  298. alSelectParams.Add(Departm);
  299. foreach (DataColumn dc in dataTable5.Columns)
  300. {
  301. if (dc.ColumnName == "STEEL_NO")
  302. {
  303. alSelectParams.Add(dr["STEEL_NO"].ToString());
  304. }
  305. else if (dc.ColumnName == "SAMPLE_NO")
  306. {
  307. alSelectParams.Add(dr["SAMPLE_NO"].ToString());
  308. }
  309. else
  310. {
  311. if (dr[dc.ColumnName].ToString() == "")
  312. {
  313. alSelectParams.Add("0");
  314. }
  315. else
  316. {
  317. alSelectParams.Add("1");
  318. }
  319. }
  320. }
  321. alSelect.Add(alSelectParams);
  322. }
  323. alAll.Add(alDelete);
  324. alAll.Add(alSelect);
  325. PublicServer.SetData("com.steering.lims.data.base.FrmBaseChemStdSteelSelect.SaveChemStdSteelSelect",
  326. new Object[] { alAll }, this.ob);
  327. QuerySteelNo();
  328. PublicPipeAndOutdec.ActiveOperateRow(ultraGrid1, "STEEL_NO", strSTEEL_NO);
  329. MessageUtil.ShowTips("保存成功!");
  330. }
  331. }
  332. catch (Exception e)
  333. {
  334. MessageUtil.ShowWarning(e.Message);
  335. return;
  336. }
  337. }
  338. //清空已选择修约规则
  339. /// <summary>
  340. /// 清空已选择修约规则
  341. /// </summary>
  342. private void ClearNowRules()
  343. {
  344. if (MessageUtil.ShowYesNoAndQuestion("是否确认清空界面已维护的修约规则?") == DialogResult.Yes)
  345. {
  346. dataTable5.Rows.Clear();
  347. foreach (DataRow dr in dataTable2.Rows)
  348. {
  349. dr["CHK"] = "False";
  350. }
  351. }
  352. }
  353. //删除已保存修约规则
  354. /// <summary>
  355. /// 删除已保存修约规则
  356. /// </summary>
  357. private void DeleteChemStdSteelSelect()
  358. {
  359. if (ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Activated == false)
  360. {
  361. MessageUtil.ShowWarning("请选择需要删除的数据!");
  362. return;
  363. }
  364. if (MessageUtil.ShowYesNoAndQuestion("是否确认删除已维护的修约规则?") == DialogResult.Yes)
  365. {
  366. string strSTEEL_NO = ultraGrid1.ActiveRow.Cells["STEEL_NO"].Text.Trim();
  367. string strSAMPLE_NO = ultraGrid5.ActiveRow.Cells["SAMPLE_NO"].Text.Trim();
  368. string strSTEEL_NO5 = ultraGrid5.ActiveRow.Cells["STEEL_NO"].Text.Trim();
  369. ArrayList al = new ArrayList();
  370. al.Add(strSTEEL_NO);
  371. al.Add(strSAMPLE_NO);
  372. al.Add(strSTEEL_NO5);
  373. al.Add(Departm);
  374. PublicServer.SetData("com.steering.lims.data.base.FrmBaseChemStdSteelSelect.DeleteChemStdSteelSelect",
  375. new Object[] { al }, this.ob);
  376. QuerySteelNo();
  377. PublicPipeAndOutdec.ActiveOperateRow(ultraGrid1, "STEEL_NO", strSTEEL_NO);
  378. MessageUtil.ShowTips("删除成功!");
  379. }
  380. }
  381. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  382. {
  383. txtSTEEL_NO.Text = ultraGrid1.ActiveRow.Cells["STEEL_NO"].Text.Trim();
  384. QueryChemStdSteelSelect();
  385. QuerySteelNoStdValue();
  386. }
  387. //查询钢种上下限
  388. /// <summary>
  389. /// 查询钢种上下限
  390. /// </summary>
  391. private void QuerySteelNoStdValue()
  392. {
  393. try
  394. {
  395. if (ultraGrid1.ActiveRow != null)
  396. {
  397. ArrayList arrayList = new ArrayList();
  398. arrayList.Add(ultraGrid1.ActiveRow.Cells["STEEL_NO"].Text.Trim());
  399. arrayList.Add(Departm);
  400. DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseChemStdSteelSelect.QuerySteelNoStdValue",
  401. new Object[] { arrayList }, ob);
  402. if (dt == null || dt.Rows.Count == 0)
  403. {
  404. dataTable4.Rows.Clear();
  405. //MessageUtil.ShowTips("找不到标钢明细数据!");
  406. return;
  407. }
  408. GridHelper.CopyDataToDatatable(dt, dataTable4, true);
  409. DataRow[] arrDr = null;
  410. foreach (DataRow dr in dataTable4.Rows)
  411. {
  412. if (dataTable5.Columns.Contains("ANA_" + dr["CHEM_NAME"].ToString()))
  413. {
  414. arrDr = dataTable5.Select("ANA_" + dr["CHEM_NAME"].ToString() + " = '√'");
  415. if (arrDr.Length > 0)
  416. {
  417. dr["SAMPLE_NO"] = arrDr[0]["SAMPLE_NO"].ToString();
  418. }
  419. }
  420. }
  421. GridHelper.RefreshAndAutoSize(ultraGrid4);
  422. }
  423. }
  424. catch (Exception e)
  425. {
  426. MessageUtil.ShowWarning(e.Message);
  427. return;
  428. }
  429. }
  430. private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
  431. {
  432. QueryChemStdSteelValue();
  433. }
  434. private void ultraGrid2_CellChange(object sender, CellEventArgs e)
  435. {
  436. if (e.Cell.Column.Key == "CHK")
  437. {
  438. string strSAMPLE_NO = ultraGrid2.ActiveRow.Cells["SAMPLE_NO"].Text.Trim();
  439. string strSTEEL_NO = ultraGrid2.ActiveRow.Cells["STEEL_NO"].Text.Trim();
  440. if (e.Cell.Text == "True")
  441. {
  442. foreach (DataRow dataRow in dataTable5.Rows)
  443. {
  444. if (dataRow["SAMPLE_NO"].ToString().Trim() == ultraGrid2.ActiveRow.Cells["SAMPLE_NO"].Text.Trim() && dataRow["STEEL_NO"].ToString().Trim() == ultraGrid2.ActiveRow.Cells["STEEL_NO"].Text.Trim())
  445. {
  446. MessageUtil.ShowWarning("已经选择了此标钢!");
  447. return;
  448. }
  449. }
  450. DataRow dr = dataTable5.NewRow();
  451. foreach (DataColumn dc in dataTable5.Columns)
  452. {
  453. if (dc.ColumnName == "SAMPLE_NO")
  454. {
  455. dr["SAMPLE_NO"] = strSAMPLE_NO;
  456. }
  457. else if (dc.ColumnName == "STEEL_NO")
  458. {
  459. dr["STEEL_NO"] = strSTEEL_NO;
  460. }
  461. else
  462. {
  463. dr[dc.ColumnName] = "";
  464. }
  465. }
  466. dataTable5.Rows.Add(dr);
  467. }
  468. else
  469. {
  470. //取消选择则要在Grid5删掉
  471. foreach (DataRow dr in dataTable5.Rows)
  472. {
  473. if (dr["SAMPLE_NO"].ToString().Trim() == strSAMPLE_NO && dr["STEEL_NO"].ToString().Trim() == strSTEEL_NO)
  474. {
  475. dataTable5.Rows.Remove(dr);
  476. return;
  477. }
  478. }
  479. }
  480. GridHelper.RefreshAndAutoSize(ultraGrid5);
  481. }
  482. }
  483. //查询标钢标准值
  484. /// <summary>
  485. /// 查询标钢标准值
  486. /// </summary>
  487. private void QueryChemStdSteelValue()
  488. {
  489. try
  490. {
  491. if (ultraGrid2.ActiveRow != null)
  492. {
  493. dataTable3.Rows.Clear();
  494. ArrayList arrayList = new ArrayList();
  495. arrayList.Add("0");
  496. arrayList.Add(ultraGrid2.ActiveRow.Cells["SAMPLE_NO"].Text.Trim());
  497. arrayList.Add(ultraGrid2.ActiveRow.Cells["STEEL_NO"].Text.Trim());
  498. arrayList.Add(ultraGrid2.ActiveRow.Cells["STEEL_NO"].Text.Trim());
  499. arrayList.Add(ultraGrid2.ActiveRow.Cells["STEEL_NO"].Text.Trim());
  500. DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseChemStdSteel.QueryChemStdSteelDetail",
  501. new Object[] { arrayList }, ob);
  502. if (dt == null || dt.Rows.Count == 0)
  503. {
  504. //MessageUtil.ShowTips("找不到标钢明细数据!");
  505. return;
  506. }
  507. foreach (DataColumn dc in dt.Columns)
  508. {
  509. if (dc.ColumnName.IndexOf("ANA_") == 0 && dt.Rows[0][dc.ColumnName].ToString() != "")
  510. {
  511. DataRow dr = dataTable3.NewRow();
  512. dr["ELEMENTS"] = dc.ColumnName.Remove(0, 4);
  513. dr["STD_VALUE"] = dt.Rows[0][dc.ColumnName].ToString();
  514. dataTable3.Rows.Add(dr);
  515. }
  516. }
  517. GridHelper.RefreshAndAutoSize(ultraGrid3);
  518. }
  519. }
  520. catch (Exception e)
  521. {
  522. MessageUtil.ShowWarning(e.Message);
  523. return;
  524. }
  525. }
  526. private void ultraGrid5_ClickCell(object sender, ClickCellEventArgs e)
  527. {
  528. if (PublicPipeAndOutdec.chemMax.IndexOf(e.Cell.Column.Key) >= 0)
  529. {
  530. ultraGrid5.UpdateData();
  531. if (e.Cell.Text.Trim() == "")
  532. {
  533. e.Cell.Value = "√";
  534. //判断其他行是否有一样选择的元素没有则新增有则提示
  535. DataRow[] arrDr = dataTable5.Select(e.Cell.Column.Key + " = '√'");
  536. if (arrDr.Length > 0)
  537. {
  538. e.Cell.Value = "";
  539. MessageUtil.ShowWarning("其他标钢已经选择了此元素!");
  540. return;
  541. }
  542. //打钩则要赋予标钢编号
  543. GridHelper.RefreshAndAutoSize(ultraGrid3);
  544. }
  545. else
  546. {
  547. e.Cell.Value = "";
  548. }
  549. foreach (DataRow dr in dataTable4.Rows)
  550. {
  551. if ("ANA_" + dr["CHEM_NAME"].ToString().ToUpper() == e.Cell.Column.Key)
  552. {
  553. if (e.Cell.Text == "√")
  554. {
  555. dr["SAMPLE_NO"] = e.Cell.Row.Cells["SAMPLE_NO"].Text.Trim();
  556. }
  557. else
  558. {
  559. dr["SAMPLE_NO"] = "";
  560. }
  561. return;
  562. }
  563. }
  564. }
  565. }
  566. }
  567. }