FrmBaseSelectItems.cs 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747
  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 Core.Mes.Client.Comm.Control;
  11. using Core.Mes.Client.Comm.Server;
  12. using Core.Mes.Client.Comm.Tool;
  13. using Infragistics.Win.UltraWinGrid;
  14. using Infragistics.Win.UltraWinEditors;
  15. using System.Collections;
  16. namespace Core.StlMes.Client.Lims.Data.PipeAndOutdec
  17. {
  18. public partial class FrmBaseSelectItems : FrmBase
  19. {
  20. //private DataTable m_dtSelectPhyMax;//选择的大项
  21. //public DataTable DtSelectPhyMax
  22. //{
  23. // get { return m_dtSelectPhyMax; }
  24. // set { m_dtSelectPhyMax = value; }
  25. //}
  26. private DataTable m_dtSelectPhySampleCode;//选择的取样码
  27. public DataTable DtSelectPhySampleCode
  28. {
  29. get { return m_dtSelectPhySampleCode; }
  30. set { m_dtSelectPhySampleCode = value; }
  31. }
  32. private DataTable m_dtSelectPhyMin;//选择的小项
  33. public DataTable DtSelectPhyMin
  34. {
  35. get { return m_dtSelectPhyMin; }
  36. set { m_dtSelectPhyMin = value; }
  37. }
  38. private DataTable m_dtSelectPhyR;//选择的方向温度尺寸
  39. public DataTable DtSelectPhyR
  40. {
  41. get { return m_dtSelectPhyR; }
  42. set { m_dtSelectPhyR = value; }
  43. }
  44. private DataTable m_dtPhySampleCode;//试样组
  45. private DataTable m_dtPhyMin;//材质小类DataTable
  46. private DataTable m_dtPhyR;//材质方向温度尺寸DataTable
  47. public FrmBaseSelectItems()
  48. {
  49. InitializeComponent();
  50. }
  51. public FrmBaseSelectItems(OpeBase ob)
  52. {
  53. InitializeComponent();
  54. this.ob = ob;
  55. }
  56. private void FrmBaseSelectItems_Load(object sender, EventArgs e)
  57. {
  58. Init();
  59. //QueryPhyMaxItems();
  60. QueryPhySampleCode();
  61. QueryPhyMinItems();
  62. QueryPhyRItems();
  63. QueryPhyItems();//查询检验项补充项
  64. ultraGrid6.DisplayLayout.Bands[0].Columns["ITEM_NAME_F"].EditorComponent = ultraF;
  65. ultraGrid6.DisplayLayout.Bands[0].Columns["ITEM_NAME_F"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  66. ultraGrid7.DisplayLayout.Bands[0].Columns["ITEM_NAME_F"].EditorComponent = ultraF;
  67. ultraGrid7.DisplayLayout.Bands[0].Columns["ITEM_NAME_F"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  68. ultraGrid6.DisplayLayout.Bands[0].Columns["ITEM_NAME_W"].EditorComponent = ultraW;
  69. ultraGrid6.DisplayLayout.Bands[0].Columns["ITEM_NAME_W"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  70. ultraGrid7.DisplayLayout.Bands[0].Columns["ITEM_NAME_W"].EditorComponent = ultraW;
  71. ultraGrid7.DisplayLayout.Bands[0].Columns["ITEM_NAME_W"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  72. ultraGrid6.DisplayLayout.Bands[0].Columns["ITEM_NAME_C"].EditorComponent = ultraC;
  73. ultraGrid6.DisplayLayout.Bands[0].Columns["ITEM_NAME_C"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  74. ultraGrid7.DisplayLayout.Bands[0].Columns["ITEM_NAME_C"].EditorComponent = ultraC;
  75. ultraGrid7.DisplayLayout.Bands[0].Columns["ITEM_NAME_C"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  76. }
  77. protected override void OnLoad(EventArgs e)
  78. {
  79. base.OnLoad(e);
  80. //ultraGrid1.DisplayLayout.Override.RowFilterMode = RowFilterMode.SiblingRowsOnly;
  81. //ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  82. ultraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  83. ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  84. ultraGrid4.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  85. ultraGrid5.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  86. ultraGrid6.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  87. ultraGrid7.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  88. }
  89. //初始化
  90. private void Init()
  91. {
  92. //小项和大项反了
  93. string[] arrColumns = new string[] { "CHK", "PHY_CODE_MIN", "PHY_NAME_MIN", "DEPT_ID", "PHY_CODE_MAX", "PHY_NAME_MAX", "PHY_CODE", "PHY_NAME", "PHY_UNIT", "ITEM_CODE_F", "ITEM_NAME_F", "ITEM_CODE_W", "ITEM_NAME_W", "ITEM_CODE_C", "ITEM_NAME_C" };
  94. string[] arrCaption = new string[] { "选择", "检验项代码", "检验项", "试验室", "试样组", "试样组", "检验基础项代码", "检验基础项", "单位", "试验方向代码", "试验方向", "试验温度代码", "试验温度", "试样尺寸代码", "试样尺寸" };
  95. //InitColumns(arrColumns, arrCaption, dataTable1, ultraGrid1, new string[] { "CHK", "PHY_NAME_MAX" }, true, new string[] { "CHK" });//ultraGrid1大项
  96. InitColumns(arrColumns, arrCaption, dataTable2, ultraGrid2, new string[] { "CHK", "PHY_NAME_MAX", "PHY_NAME_MIN" }, true, new string[] { "CHK" });//ultraGrid2试样组
  97. InitColumns(arrColumns, arrCaption, dataTable3, ultraGrid3, new string[] { "PHY_NAME_MAX", "PHY_NAME_MIN" }, true, null);//ultraGrid3试样组 "PHY_NAME_MAX",
  98. InitColumns(arrColumns, arrCaption, dataTable4, ultraGrid4, new string[] { "CHK", "PHY_NAME", "PHY_UNIT" }, true, new string[] { "CHK" });//ultraGrid4检验项目小项
  99. InitColumns(arrColumns, arrCaption, dataTable5, ultraGrid5, new string[] { "PHY_NAME", "PHY_UNIT" }, true, null);//ultraGrid5检验项目小项
  100. InitColumns(arrColumns, arrCaption, dataTable6, ultraGrid6, new string[] { "CHK", "ITEM_NAME_F", "ITEM_NAME_W", "ITEM_NAME_C" }, true, new string[] { "CHK" });//ultraGrid6检验项目方向温度尺寸
  101. InitColumns(arrColumns, arrCaption, dataTable7, ultraGrid7, new string[] { "PHY_NAME_MAX", "ITEM_NAME_F", "ITEM_NAME_W", "ITEM_NAME_C" }, true, null);//ultraGrid7检验项目小项方向温度尺寸 试样组加方向温度尺寸
  102. }
  103. private void InitColumns(string[] arrColumns, string[] arrCaption, DataTable dataTable, UltraGrid ultraGrid, string[] show, bool isShow, string[] ope)
  104. {
  105. PublicPipeAndOutdec.InitColumns(arrColumns, arrCaption, dataTable);
  106. PublicPipeAndOutdec.setColumnShowOrHidden(ultraGrid, show, isShow);
  107. PublicPipeAndOutdec.setOtherColumnReadOnly(ultraGrid, ope);
  108. }
  109. //查询理化项目大类信息
  110. //private void QueryPhyMaxItems()
  111. //{
  112. // try
  113. // {
  114. // DataTable dt = ServerHelper.GetData("com.steering.lims.data.base.FrmBaseSelectItems.QueryPhyMaxItems",
  115. // new Object[] { }, this.ob);
  116. // if (dt == null || dt.Rows.Count == 0)
  117. // {
  118. // return;
  119. // }
  120. // GridHelper.CopyDataToDatatable(dt, dataTable1, true);
  121. // if (m_dtSelectPhyMax != null && m_dtSelectPhyMax.Rows.Count > 0)
  122. // {
  123. // foreach (DataRow dr in dataTable1.Rows)//已经选择大项默认勾选
  124. // {
  125. // if (m_dtSelectPhyMax.Select("PHY_CODE_MAX = '" + dr["PHY_CODE_MAX"].ToString().Trim() + "'").Length > 0)
  126. // {
  127. // dr["CHK"] = true;
  128. // }
  129. // }
  130. // }
  131. // //GridHelper.RefreshAndAutoSize(ultraGrid1);
  132. // }
  133. // catch
  134. // {
  135. // //MessageUtil.ShowError(ex.Message);
  136. // }
  137. //}
  138. //查询理化项目试样组
  139. /// <summary>
  140. /// 查询理化项目试样组
  141. /// </summary>
  142. private void QueryPhySampleCode()
  143. {
  144. try
  145. {
  146. DataTable dt = ServerHelper.GetData("com.steering.lims.data.base.FrmBaseSelectItems.QueryPhySampleCode",
  147. new Object[] { }, this.ob);
  148. if (dt.Rows.Count == 0)
  149. {
  150. return;
  151. }
  152. GridHelper.CopyDataToDatatable(dt, dataTable2, true);
  153. if (m_dtSelectPhySampleCode != null && m_dtSelectPhySampleCode.Rows.Count > 0)
  154. {
  155. foreach (DataRow dr in dataTable2.Rows)//已经选择大项默认勾选
  156. {
  157. if (m_dtSelectPhySampleCode.Select("PHY_CODE_MAX = '" + dr["PHY_CODE_MAX"].ToString().Trim() + "'").Length > 0)
  158. {
  159. dr["CHK"] = true;
  160. }
  161. }
  162. }
  163. m_dtPhySampleCode = dt.Copy();
  164. if (m_dtSelectPhySampleCode != null)
  165. {
  166. GridHelper.CopyDataToDatatable(m_dtSelectPhySampleCode, dataTable3, true);//已经选择试样组默认勾选0810
  167. }
  168. GridHelper.RefreshAndAutoSize(ultraGrid2);
  169. GridHelper.RefreshAndAutoSize(ultraGrid3);
  170. }
  171. catch //(Exception ex)
  172. {
  173. //MessageUtil.ShowError(ex.Message);
  174. }
  175. }
  176. //查询理化项目小类信息
  177. /// <summary>
  178. /// 查询理化项目小类信息
  179. /// </summary>
  180. private void QueryPhyMinItems()
  181. {
  182. try
  183. {
  184. //FrmBaseCheckMethod 界面也有此方法
  185. DataTable dt = ServerHelper.GetData("com.steering.lims.data.base.FrmBaseSelectItems.QueryPhyMinItems",
  186. new Object[] { }, this.ob);
  187. if (dt.Rows.Count == 0)
  188. {
  189. return;
  190. }
  191. m_dtPhyMin = dt.Copy();
  192. if (m_dtSelectPhyMin != null)
  193. {
  194. GridHelper.CopyDataToDatatable(m_dtSelectPhyMin, dataTable5, true);//已经选择小项默认勾选0810
  195. }
  196. }
  197. catch //(Exception ex)
  198. {
  199. //MessageUtil.ShowError(ex.Message);
  200. }
  201. }
  202. //查询理化项目方向、温度、尺寸信息
  203. /// <summary>
  204. /// 查询理化项目方向、温度、尺寸信息
  205. /// </summary>
  206. private void QueryPhyRItems()
  207. {
  208. try
  209. {
  210. //暂时用_Log
  211. m_dtPhyR = null;
  212. DataTable dt = ServerHelper.GetData("com.steering.lims.data.base.FrmBaseSelectItems.QueryPhyRItems",
  213. new Object[] { }, this.ob);
  214. if (dt.Rows.Count == 0)
  215. {
  216. return;
  217. }
  218. m_dtPhyR = dt.Copy();
  219. if (m_dtSelectPhyR != null)
  220. {
  221. GridHelper.CopyDataToDatatable(m_dtSelectPhyR, dataTable7, true);//已经选择方向温度尺寸默认勾选0810
  222. }
  223. GridHelper.RefreshAndAutoSize(ultraGrid7);
  224. }
  225. catch //(Exception ex)
  226. {
  227. //MessageUtil.ShowError(ex.Message);
  228. }
  229. }
  230. //查询检验项补充项
  231. /// <summary>
  232. /// 查询检验项补充项
  233. /// </summary>
  234. private void QueryPhyItems()
  235. {
  236. QueryPhyItems_sub("A", ultraF);
  237. QueryPhyItems_sub("B", ultraW);
  238. QueryPhyItems_sub("C", ultraC);
  239. }
  240. private void QueryPhyItems_sub(string itemStyle, UltraComboEditor cmb)
  241. {
  242. try
  243. {
  244. ArrayList list = new ArrayList();
  245. list.Add(itemStyle);
  246. DataTable dt = ServerHelper.GetData("com.steering.lims.data.base.FrmBaseSelectItems.QueryPhyItems",
  247. new object[] { list }, ob);
  248. cmb.DataSource = dt;
  249. cmb.DisplayMember = "ITEM_NAME";
  250. cmb.ValueMember = "ITEM_CODE";
  251. ClsBaseInfo.SetComboItemHeight(cmb);
  252. }
  253. catch //(Exception ex)
  254. {
  255. //MessageUtil.ShowError(ex.Message);
  256. }
  257. }
  258. //确定按钮事件
  259. private void btnConfirm_Click(object sender, EventArgs e)
  260. {
  261. if (GetSelectItems() == false)
  262. {
  263. MessageUtil.ShowWarning("有选择的理化项目大类没有选择检验项,请选择!");
  264. }
  265. else
  266. {
  267. this.DialogResult = DialogResult.OK;
  268. }
  269. }
  270. private void btnCancel_Click(object sender, EventArgs e)
  271. {
  272. if (MessageUtil.ShowYesNoAndQuestion("确定退出页面吗?") == DialogResult.Yes)
  273. {
  274. this.Close();
  275. }
  276. }
  277. //获取选择的项目0810
  278. private bool GetSelectItems()
  279. {
  280. //string sqlSelect = "CHK = 'True'";
  281. //m_dtSelectPhyMax = PublicPipeAndOutdec.GetSelectDt(dataTable2, sqlSelect);//筛选出符合条件的大项
  282. m_dtSelectPhySampleCode = dataTable3.Copy();
  283. m_dtSelectPhyMin = dataTable5.Copy();//筛选出符合条件的小项
  284. if (m_dtSelectPhySampleCode.Rows.Count > 0)//判断是否有选择了大项没有选择小项的情况
  285. {
  286. foreach (DataRow dr in m_dtSelectPhySampleCode.Rows)
  287. {
  288. if (PublicPipeAndOutdec.GetSelectDt(m_dtSelectPhyMin, "PHY_CODE_MAX = '" + dr["PHY_CODE_MAX"].ToString() + "'").Rows.Count == 0)
  289. {
  290. return false;
  291. }
  292. }
  293. }
  294. m_dtSelectPhyR = dataTable7.Copy();//筛选出符合条件的方向温度尺寸
  295. return true;
  296. }
  297. //依据选择的大项查询出小项0810
  298. //private void ultraGrid1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  299. //{
  300. // if (e.Cell.Column.Key == "CHK")
  301. // {
  302. // ultraGrid1.UpdateData();
  303. // bool isSelect = false;//判断是否有选中的项目
  304. // foreach (DataRow dr in dataTable1.Rows)
  305. // {
  306. // if (dr["CHK"].ToString() == "True")
  307. // {
  308. // isSelect = true;
  309. // }
  310. // }
  311. // if (isSelect == false)
  312. // {
  313. // dataTable2.Rows.Clear();
  314. // dataTable3.Rows.Clear();
  315. // dataTable4.Rows.Clear();
  316. // dataTable5.Rows.Clear();
  317. // dataTable6.Rows.Clear();
  318. // dataTable7.Rows.Clear();
  319. // return;
  320. // }
  321. // if (e.Cell.Text == "True")
  322. // {
  323. // string phyMaxItems = "PHY_CODE_MAX = '" + e.Cell.Row.Cells["PHY_CODE_MAX"].Text.Trim() + "'";
  324. // //20160520试样组
  325. // foreach (DataRow drR in m_dtPhySampleCode.Rows)
  326. // {
  327. // drR["CHK"] = "False";
  328. // foreach (DataRow dr in dataTable3.Rows)
  329. // {
  330. // if (drR["PHY_CODE_MAX"].ToString() == dr["PHY_CODE_MAX"].ToString() && drR["PHY_CODE_MIN"].ToString() == dr["PHY_CODE_MIN"].ToString())
  331. // {
  332. // drR["CHK"] = "True";
  333. // break;
  334. // }
  335. // }
  336. // }
  337. // GridHelper.CopyDataToDatatable(PublicPipeAndOutdec.GetSelectDt(m_dtPhySampleCode, phyMaxItems), dataTable2, true);//筛选出符合条件的小项
  338. // GridHelper.RefreshAndAutoSize(ultraGrid2);
  339. // }
  340. // else
  341. // {
  342. // //dataTable4和dataTable5有此项目的需删除
  343. // dataTable2.Rows.Clear();
  344. // dataTable4.Rows.Clear();
  345. // dataTable6.Rows.Clear();
  346. // //20160520
  347. // if (dataTable3.Rows.Count > 0)
  348. // {
  349. // for (int i = 0; i < dataTable3.Rows.Count; i++)
  350. // {
  351. // if (e.Cell.Row.Cells["PHY_CODE_MAX"].Text.Trim() == dataTable3.Rows[i]["PHY_CODE_MAX"].ToString())
  352. // {
  353. // dataTable3.Rows.RemoveAt(i);
  354. // i--;
  355. // }
  356. // }
  357. // }
  358. // if (dataTable5.Rows.Count > 0)
  359. // {
  360. // for (int i = 0; i < dataTable5.Rows.Count; i++)
  361. // {
  362. // if (e.Cell.Row.Cells["PHY_CODE_MAX"].Text.Trim() == dataTable5.Rows[i]["PHY_CODE_MAX"].ToString())
  363. // {
  364. // dataTable5.Rows.RemoveAt(i);
  365. // i--;
  366. // }
  367. // }
  368. // }
  369. // if (dataTable7.Rows.Count > 0)
  370. // {
  371. // for (int i = 0; i < dataTable7.Rows.Count; i++)
  372. // {
  373. // if (e.Cell.Row.Cells["PHY_CODE_MAX"].Text.Trim() == dataTable7.Rows[i]["PHY_CODE_MAX"].ToString())
  374. // {
  375. // dataTable7.Rows.RemoveAt(i);
  376. // i--;
  377. // }
  378. // }
  379. // }
  380. // GridHelper.RefreshAndAutoSize(ultraGrid3);
  381. // GridHelper.RefreshAndAutoSize(ultraGrid5);
  382. // GridHelper.RefreshAndAutoSize(ultraGrid7);
  383. // }
  384. // }
  385. //}
  386. //依据选择的试样组显示
  387. /// <summary>
  388. /// 依据选择的试样组显示
  389. /// </summary>
  390. /// <param name="sender"></param>
  391. /// <param name="e"></param>
  392. private void ultraGrid2_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  393. {
  394. if (e.Cell.Column.Key == "CHK")
  395. {
  396. ultraGrid2.UpdateData();
  397. if (e.Cell.Text == "True")
  398. {
  399. string phyMaxItems = "PHY_CODE_MAX = '" + e.Cell.Row.Cells["PHY_CODE_MAX"].Text.Trim() + "' AND PHY_CODE_MIN = '" + e.Cell.Row.Cells["PHY_CODE_MIN"].Text.Trim() + "'";
  400. //勾选了记录已经勾选的项目
  401. if (dataTable2.Select(phyMaxItems) != null && dataTable2.Select(phyMaxItems).Length > 0)
  402. {
  403. dataTable3.ImportRow(dataTable2.Select(phyMaxItems)[0]);
  404. }
  405. GridHelper.RefreshAndAutoSize(ultraGrid3);
  406. //本来已经勾选的项目需要勾选2015-07-30
  407. foreach (DataRow drR in m_dtPhyMin.Rows)
  408. {
  409. drR["CHK"] = "False";
  410. foreach (DataRow dr in dataTable5.Rows)
  411. {
  412. //drR["CHK"] = "False";
  413. if (drR["PHY_CODE_MAX"].ToString() == dr["PHY_CODE_MAX"].ToString() && drR["PHY_CODE_MIN"].ToString() == dr["PHY_CODE_MIN"].ToString() && drR["PHY_CODE"].ToString() == dr["PHY_CODE"].ToString())
  414. {
  415. drR["CHK"] = "True";
  416. break;
  417. }
  418. }
  419. }
  420. GridHelper.CopyDataToDatatable(PublicPipeAndOutdec.GetSelectDt(m_dtPhyMin, phyMaxItems), dataTable4, true);//筛选出符合条件的小项
  421. GridHelper.RefreshAndAutoSize(ultraGrid4);
  422. //datatable6 根据试样组显示对应的方向温度尺寸
  423. GridHelper.CopyDataToDatatable(PublicPipeAndOutdec.GetSelectDt(m_dtPhyR, phyMaxItems), dataTable6, true);//筛选出符合条件的小项
  424. GridHelper.RefreshAndAutoSize(ultraGrid6);
  425. }
  426. else
  427. {
  428. //dataTable4和dataTable5有此项目的需删除
  429. dataTable4.Rows.Clear();
  430. dataTable6.Rows.Clear();
  431. if (dataTable3.Rows.Count > 0)
  432. {
  433. for (int i = 0; i < dataTable3.Rows.Count; i++)
  434. {
  435. if (e.Cell.Row.Cells["PHY_CODE_MAX"].Text.Trim() == dataTable3.Rows[i]["PHY_CODE_MAX"].ToString() && e.Cell.Row.Cells["PHY_CODE_MIN"].Text.Trim() == dataTable3.Rows[i]["PHY_CODE_MIN"].ToString())
  436. {
  437. dataTable3.Rows.RemoveAt(i);
  438. i--;
  439. }
  440. }
  441. }
  442. if (dataTable5.Rows.Count > 0)
  443. {
  444. for (int i = 0; i < dataTable5.Rows.Count; i++)
  445. {
  446. if (e.Cell.Row.Cells["PHY_CODE_MAX"].Text.Trim() == dataTable5.Rows[i]["PHY_CODE_MAX"].ToString() && e.Cell.Row.Cells["PHY_CODE_MIN"].Text.Trim() == dataTable5.Rows[i]["PHY_CODE_MIN"].ToString())
  447. {
  448. dataTable5.Rows.RemoveAt(i);
  449. i--;
  450. }
  451. }
  452. }
  453. if (dataTable7.Rows.Count > 0)
  454. {
  455. for (int i = 0; i < dataTable7.Rows.Count; i++)
  456. {
  457. if (e.Cell.Row.Cells["PHY_CODE_MAX"].Text.Trim() == dataTable7.Rows[i]["PHY_CODE_MAX"].ToString() && e.Cell.Row.Cells["PHY_CODE_MIN"].Text.Trim() == dataTable7.Rows[i]["PHY_CODE_MIN"].ToString())
  458. {
  459. dataTable7.Rows.RemoveAt(i);
  460. i--;
  461. }
  462. }
  463. }
  464. GridHelper.RefreshAndAutoSize(ultraGrid3);
  465. GridHelper.RefreshAndAutoSize(ultraGrid5);
  466. GridHelper.RefreshAndAutoSize(ultraGrid7);
  467. }
  468. }
  469. }
  470. //依据选择的小查询出试验方向温度尺寸0810
  471. private void ultraGrid4_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  472. {
  473. if (e.Cell.Column.Key == "CHK")
  474. {
  475. ultraGrid4.UpdateData();
  476. if (e.Cell.Text == "True")
  477. {
  478. string phyMinItems = "PHY_CODE_MAX = '" + e.Cell.Row.Cells["PHY_CODE_MAX"].Text.Trim() + "' AND PHY_CODE_MIN = '" + e.Cell.Row.Cells["PHY_CODE_MIN"].Text.Trim() + "' AND PHY_CODE = '" + e.Cell.Row.Cells["PHY_CODE"].Text.Trim() + "'";
  479. if (dataTable4.Select(phyMinItems) != null && dataTable4.Select(phyMinItems).Length > 0)
  480. {
  481. dataTable5.ImportRow(dataTable4.Select(phyMinItems)[0]);
  482. }
  483. //GridHelper.RefreshAndAutoSize(ultraGrid5);
  484. //检验项变动对方向温度尺寸没影响
  485. //本来已经勾选的项目需要勾选2015-07-30
  486. //foreach (DataRow drR in m_dtPhyR.Rows)
  487. //{
  488. // drR["CHK"] = "False";
  489. // foreach (DataRow dr in dataTable7.Rows)
  490. // {
  491. // //drR["CHK"] = "False";
  492. // if (drR["PHY_CODE"].ToString() == dr["PHY_CODE"].ToString())
  493. // {
  494. // drR["CHK"] = "True";
  495. // break;
  496. // }
  497. // }
  498. //}
  499. //GridHelper.CopyDataToDatatable(PublicPipeAndOutdec.GetSelectDt(m_dtPhyR, phyMinItems), dataTable6, true);//筛选出符合条件的小项
  500. //GridHelper.RefreshAndAutoSize(ultraGrid6);
  501. }
  502. else
  503. {
  504. //dataTable4和dataTable5有此项目的需删除
  505. for (int i = 0; i < dataTable5.Rows.Count; i++)
  506. {
  507. if (e.Cell.Row.Cells["PHY_CODE"].Text.Trim() == dataTable5.Rows[i]["PHY_CODE"].ToString())
  508. {
  509. dataTable5.Rows.RemoveAt(i);
  510. i--;
  511. }
  512. }
  513. //小项跟方向温度尺寸无关
  514. //dataTable6.Rows.Clear();
  515. //for (int i = 0; i < dataTable7.Rows.Count; i++)
  516. //{
  517. // if (e.Cell.Row.Cells["PHY_CODE"].Text.Trim() == dataTable7.Rows[i]["PHY_CODE"].ToString())
  518. // {
  519. // dataTable7.Rows.RemoveAt(i);
  520. // i--;
  521. // }
  522. //}
  523. }
  524. GridHelper.RefreshAndAutoSize(ultraGrid5);
  525. //GridHelper.RefreshAndAutoSize(ultraGrid7);
  526. }
  527. }
  528. private void ultraGrid6_CellChange(object sender, CellEventArgs e)
  529. {
  530. if (e.Cell.Column.Key == "CHK")
  531. {
  532. ultraGrid6.UpdateData();
  533. //选择了dataTable5增加此行
  534. if (e.Cell.Text == "True")
  535. {
  536. DataRow dr = dataTable7.NewRow();
  537. foreach (UltraGridColumn uc in ultraGrid6.DisplayLayout.Bands[0].Columns)
  538. {
  539. dr[uc.Key] = e.Cell.Row.Cells[uc.Key].Text.Trim();
  540. }
  541. dataTable7.Rows.Add(dr);
  542. //dataTable5.ImportRow(dataTable3.Select(phyR)[0]);
  543. }
  544. else
  545. {
  546. for (int i = 0; i < dataTable7.Rows.Count; i++)
  547. {
  548. if (e.Cell.Row.Cells["PHY_CODE_MAX"].Text.Trim() == dataTable7.Rows[i]["PHY_CODE_MAX"].ToString() && e.Cell.Row.Cells["ITEM_CODE_F"].Text.Trim() == dataTable7.Rows[i]["ITEM_CODE_F"].ToString().Trim() && e.Cell.Row.Cells["ITEM_CODE_W"].Text.Trim() == dataTable7.Rows[i]["ITEM_CODE_W"].ToString().Trim() && e.Cell.Row.Cells["ITEM_CODE_C"].Text.Trim() == dataTable7.Rows[i]["ITEM_CODE_C"].ToString().Trim())
  549. {
  550. dataTable7.Rows.RemoveAt(i);
  551. i--;
  552. }
  553. }
  554. }
  555. GridHelper.RefreshAndAutoSize(ultraGrid7);
  556. }
  557. }
  558. //private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  559. //{
  560. // //20160520根据试样组联动
  561. // if (ultraGrid1.ActiveRow.Cells["CHK"].Text.Trim() == "True")
  562. // {
  563. // string phyMaxItems = "PHY_CODE_MAX = '" + ultraGrid1.ActiveRow.Cells["PHY_CODE_MAX"].Text.Trim() + "'";
  564. // //本来已经勾选的项目需要勾选2015-07-30
  565. // foreach (DataRow drR in m_dtPhySampleCode.Rows)
  566. // {
  567. // drR["CHK"] = "False";
  568. // foreach (DataRow dr in dataTable3.Rows)
  569. // {
  570. // //drR["CHK"] = "False";
  571. // if (drR["PHY_CODE_MAX"].ToString() == dr["PHY_CODE_MAX"].ToString() && drR["PHY_CODE_MIN"].ToString() == dr["PHY_CODE_MIN"].ToString())
  572. // {
  573. // drR["CHK"] = "True";
  574. // break;
  575. // }
  576. // }
  577. // }
  578. // GridHelper.CopyDataToDatatable(PublicPipeAndOutdec.GetSelectDt(m_dtPhySampleCode, phyMaxItems), dataTable2, true);//筛选出符合条件的小项
  579. // GridHelper.RefreshAndAutoSize(ultraGrid2);
  580. // }
  581. // else
  582. // {
  583. // dataTable2.Rows.Clear();
  584. // dataTable4.Rows.Clear();
  585. // dataTable6.Rows.Clear();
  586. // }
  587. //}
  588. private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
  589. {
  590. //20160520根据试样组联动
  591. if (ultraGrid2.ActiveRow.Cells["CHK"].Text.Trim() == "True")
  592. {
  593. string phyMaxItems = "PHY_CODE_MAX = '" + ultraGrid2.ActiveRow.Cells["PHY_CODE_MAX"].Text.Trim() + "' AND PHY_CODE_MIN = '" + ultraGrid2.ActiveRow.Cells["PHY_CODE_MIN"].Text.Trim() + "'";
  594. //本来已经勾选的项目需要勾选2015-07-30
  595. foreach (DataRow drR in m_dtPhyMin.Rows)
  596. {
  597. drR["CHK"] = "False";
  598. foreach (DataRow dr in dataTable5.Rows)
  599. {
  600. //drR["CHK"] = "False";
  601. if (drR["PHY_CODE_MAX"].ToString() == dr["PHY_CODE_MAX"].ToString() && drR["PHY_CODE_MIN"].ToString() == dr["PHY_CODE_MIN"].ToString() && drR["PHY_CODE"].ToString() == dr["PHY_CODE"].ToString())
  602. {
  603. drR["CHK"] = "True";
  604. break;
  605. }
  606. }
  607. }
  608. GridHelper.CopyDataToDatatable(PublicPipeAndOutdec.GetSelectDt(m_dtPhyMin, phyMaxItems), dataTable4, true);//筛选出符合条件的小项
  609. GridHelper.RefreshAndAutoSize(ultraGrid4);
  610. //datatable6 根据试样组显示对应的方向温度尺寸
  611. // //本来已经勾选的项目需要勾选2015-07-30
  612. foreach (DataRow drR in m_dtPhyR.Rows)
  613. {
  614. drR["CHK"] = "False";
  615. foreach (DataRow dr in dataTable7.Rows)
  616. {
  617. //drR["CHK"] = "False";
  618. if (drR["PHY_CODE_MAX"].ToString() == dr["PHY_CODE_MAX"].ToString() && drR["ITEM_CODE_F"].ToString() == dr["ITEM_CODE_F"].ToString() && drR["ITEM_CODE_W"].ToString() == dr["ITEM_CODE_W"].ToString() && drR["ITEM_CODE_C"].ToString() == dr["ITEM_CODE_C"].ToString())
  619. {
  620. drR["CHK"] = "True";
  621. break;
  622. }
  623. }
  624. }
  625. GridHelper.CopyDataToDatatable(PublicPipeAndOutdec.GetSelectDt(m_dtPhyR, phyMaxItems), dataTable6, true);//筛选出符合条件的小项
  626. GridHelper.RefreshAndAutoSize(ultraGrid6);
  627. }
  628. else
  629. {
  630. dataTable4.Rows.Clear();
  631. dataTable6.Rows.Clear();
  632. }
  633. }
  634. //小项选择事件
  635. private void ultraGrid4_AfterRowActivate(object sender, EventArgs e)
  636. {
  637. //if (ultraGrid4.ActiveRow.Cells["CHK"].Text.Trim() == "True")
  638. //{
  639. // string phyR = "PHY_CODE_MAX = '" + ultraGrid4.ActiveRow.Cells["PHY_CODE_MAX"].Text.Trim() + "' AND PHY_CODE_MIN = '" + ultraGrid4.ActiveRow.Cells["PHY_CODE_MIN"].Text.Trim() + "' AND PHY_CODE = '" + ultraGrid4.ActiveRow.Cells["PHY_CODE"].Text.Trim() + "'";
  640. // //本来已经勾选的项目需要勾选2015-07-30
  641. // foreach (DataRow drR in m_dtPhyR.Rows)
  642. // {
  643. // drR["CHK"] = "False";
  644. // foreach (DataRow dr in dataTable7.Rows)
  645. // {
  646. // //drR["CHK"] = "False";
  647. // if (drR["PHY_CODE"].ToString() == dr["PHY_CODE"].ToString() && drR["ITEM_CODE_F"].ToString() == dr["ITEM_CODE_F"].ToString() && drR["ITEM_CODE_W"].ToString() == dr["ITEM_CODE_W"].ToString() && drR["ITEM_CODE_C"].ToString() == dr["ITEM_CODE_C"].ToString())
  648. // {
  649. // drR["CHK"] = "True";
  650. // break;
  651. // }
  652. // }
  653. // }
  654. // GridHelper.CopyDataToDatatable(PublicPipeAndOutdec.GetSelectDt(m_dtPhyR, phyR), dataTable6, true);//筛选出符合条件的小项
  655. // GridHelper.RefreshAndAutoSize(ultraGrid6);
  656. // GridHelper.RefreshAndAutoSize(ultraGrid7);
  657. //}
  658. //else
  659. //{
  660. // dataTable6.Rows.Clear();
  661. //}
  662. }
  663. }
  664. }