FrmBaseSelectItems.cs 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601
  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.Port
  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_dtSelectSampleKey;//选择的试样组+方向温度尺寸
  45. public DataTable DtSelectSampleKey
  46. {
  47. get { return m_dtSelectSampleKey; }
  48. set { m_dtSelectSampleKey = value; }
  49. }
  50. private DataTable m_dtPhySampleCode;//试样组
  51. private DataTable m_dtPhyMin;//材质小类DataTable
  52. private DataTable m_dtPhyR;//材质方向温度尺寸DataTable
  53. public FrmBaseSelectItems()
  54. {
  55. InitializeComponent();
  56. }
  57. public FrmBaseSelectItems(OpeBase ob)
  58. {
  59. InitializeComponent();
  60. this.ob = ob;
  61. }
  62. private void FrmBaseSelectItems_Load(object sender, EventArgs e)
  63. {
  64. Init();
  65. //QueryPhyMaxItems();
  66. QueryPhySampleCode();
  67. QueryPhyMinItems();
  68. QueryPhyRItems();
  69. QueryPhyItems();//查询检验项补充项
  70. ultraGrid2_1.DisplayLayout.Bands[0].Columns["ITEM_NAME_F"].EditorComponent = ultraF;
  71. ultraGrid2_1.DisplayLayout.Bands[0].Columns["ITEM_NAME_F"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  72. ultraGrid2_2.DisplayLayout.Bands[0].Columns["ITEM_NAME_F"].EditorComponent = ultraF;
  73. ultraGrid2_2.DisplayLayout.Bands[0].Columns["ITEM_NAME_F"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  74. ultraGrid2_1.DisplayLayout.Bands[0].Columns["ITEM_NAME_W"].EditorComponent = ultraW;
  75. ultraGrid2_1.DisplayLayout.Bands[0].Columns["ITEM_NAME_W"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  76. ultraGrid2_2.DisplayLayout.Bands[0].Columns["ITEM_NAME_W"].EditorComponent = ultraW;
  77. ultraGrid2_2.DisplayLayout.Bands[0].Columns["ITEM_NAME_W"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  78. ultraGrid2_1.DisplayLayout.Bands[0].Columns["ITEM_NAME_C"].EditorComponent = ultraC;
  79. ultraGrid2_1.DisplayLayout.Bands[0].Columns["ITEM_NAME_C"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  80. ultraGrid2_2.DisplayLayout.Bands[0].Columns["ITEM_NAME_C"].EditorComponent = ultraC;
  81. ultraGrid2_2.DisplayLayout.Bands[0].Columns["ITEM_NAME_C"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  82. }
  83. protected override void OnLoad(EventArgs e)
  84. {
  85. base.OnLoad(e);
  86. //ultraGrid1_1.DisplayLayout.Override.RowFilterMode = RowFilterMode.SiblingRowsOnly;
  87. //ultraGrid1_1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  88. ultraGrid1_1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  89. ultraGrid1_2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  90. ultraGrid2_1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  91. ultraGrid2_2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  92. ultraGrid3_1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  93. ultraGrid3_2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  94. }
  95. //初始化
  96. private void Init()
  97. {
  98. //小项和大项反了
  99. 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", "SAMPLE_KEY", "SAMPLE_KEY_DESC" };
  100. string[] arrCaption = new string[] { "选择", "检验项代码", "检验项", "试验室", "试样组", "试样组", "检验基础项代码", "检验基础项", "单位", "试验方向代码", "试验方向", "试验温度代码", "试验温度", "试样尺寸代码", "试样尺寸", "试样代码", "试样描述" };
  101. //InitColumns(arrColumns, arrCaption, dataTable1_1, ultraGrid1_1, new string[] { "CHK", "PHY_NAME_MAX" }, true, new string[] { "CHK" });//ultraGrid1大项
  102. PublicPort.InitColumns(arrColumns, arrCaption, dataTable1_1, ultraGrid1_1, new string[] { "CHK", "PHY_NAME_MAX", "PHY_NAME_MIN" }, true, new string[] { "CHK" });//ultraGrid2试样组
  103. PublicPort.InitColumns(arrColumns, arrCaption, dataTable1_2, ultraGrid1_2, new string[] { "PHY_NAME_MAX", "PHY_NAME_MIN" }, true, null);//ultraGrid3试样组 "PHY_NAME_MAX",
  104. PublicPort.InitColumns(arrColumns, arrCaption, dataTable2_1, ultraGrid2_1, new string[] { "CHK", "ITEM_NAME_F", "ITEM_NAME_W", "ITEM_NAME_C" }, true, new string[] { "CHK" });//ultraGrid6检验项目方向温度尺寸
  105. PublicPort.InitColumns(arrColumns, arrCaption, dataTable2_2, ultraGrid2_2, new string[] { "PHY_NAME_MAX", "ITEM_NAME_F", "ITEM_NAME_W", "ITEM_NAME_C" }, true, null);//ultraGrid7检验项目小项方向温度尺寸 试样组加方向温度尺寸
  106. PublicPort.InitColumns(arrColumns, arrCaption, dataTable3_1, ultraGrid3_1, new string[] { "CHK", "PHY_NAME", "PHY_UNIT" }, true, new string[] { "CHK" });//ultraGrid3_1检验项目小项
  107. PublicPort.InitColumns(arrColumns, arrCaption, dataTable3_2, ultraGrid3_2, new string[] { "PHY_NAME_MAX", "PHY_NAME", "PHY_UNIT" }, true, null);//ultraGrid3_2检验项目小项
  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. private void QueryPhySampleCode()
  140. {
  141. try
  142. {
  143. DataTable dt = ServerHelper.GetData("com.steering.lims.data.base.FrmBaseSelectItems.QueryPhySampleCode",
  144. new Object[] { }, this.ob);
  145. if (dt.Rows.Count == 0)
  146. {
  147. return;
  148. }
  149. GridHelper.CopyDataToDatatable(dt, dataTable1_1, true);
  150. if (m_dtSelectPhySampleCode != null && m_dtSelectPhySampleCode.Rows.Count > 0)
  151. {
  152. foreach (DataRow dr in dataTable1_1.Rows)//已经选择大项默认勾选
  153. {
  154. if (m_dtSelectPhySampleCode.Select("PHY_CODE_MAX = '" + dr["PHY_CODE_MAX"].ToString().Trim() + "'").Length > 0)
  155. {
  156. dr["CHK"] = true;
  157. }
  158. }
  159. }
  160. m_dtPhySampleCode = dt.Copy();
  161. if (m_dtSelectPhySampleCode != null)
  162. {
  163. GridHelper.CopyDataToDatatable(m_dtSelectPhySampleCode, dataTable1_2, true);//已经选择试样组默认勾选0810
  164. }
  165. GridHelper.RefreshAndAutoSize(ultraGrid1_1);
  166. GridHelper.RefreshAndAutoSize(ultraGrid1_2);
  167. }
  168. catch //(Exception ex)
  169. {
  170. //MessageUtil.ShowError(ex.Message);
  171. }
  172. }
  173. //查询理化项目小类信息
  174. private void QueryPhyMinItems()
  175. {
  176. try
  177. {
  178. //FrmBaseCheckMethod 界面也有此方法
  179. DataTable dt = ServerHelper.GetData("com.steering.lims.data.base.FrmBaseSelectItems.QueryPhyMinItems",
  180. new Object[] { }, this.ob);
  181. if (dt.Rows.Count == 0)
  182. {
  183. return;
  184. }
  185. m_dtPhyMin = dt.Copy();
  186. if (m_dtSelectPhyMin != null)
  187. {
  188. GridHelper.CopyDataToDatatable(m_dtSelectPhyMin, dataTable3_2, true);//已经选择小项默认勾选0810
  189. }
  190. }
  191. catch //(Exception ex)
  192. {
  193. //MessageUtil.ShowError(ex.Message);
  194. }
  195. }
  196. //查询理化项目方向、温度、尺寸信息
  197. private void QueryPhyRItems()
  198. {
  199. try
  200. {
  201. //暂时用_Log
  202. m_dtPhyR = null;
  203. DataTable dt = ServerHelper.GetData("com.steering.lims.data.base.FrmBaseSelectItems.QueryPhyRItems",
  204. new Object[] { }, this.ob);
  205. if (dt.Rows.Count == 0)
  206. {
  207. return;
  208. }
  209. m_dtPhyR = dt.Copy();
  210. if (m_dtSelectPhyR != null)
  211. {
  212. GridHelper.CopyDataToDatatable(m_dtSelectPhyR, dataTable2_2, true);//已经选择方向温度尺寸默认勾选0810
  213. }
  214. GridHelper.RefreshAndAutoSize(ultraGrid2_2);
  215. }
  216. catch //(Exception ex)
  217. {
  218. //MessageUtil.ShowError(ex.Message);
  219. }
  220. }
  221. //查询检验项补充项
  222. private void QueryPhyItems()
  223. {
  224. QueryPhyItems_sub("A", ultraF);
  225. QueryPhyItems_sub("B", ultraW);
  226. QueryPhyItems_sub("C", ultraC);
  227. }
  228. private void QueryPhyItems_sub(string itemStyle, UltraComboEditor cmb)
  229. {
  230. try
  231. {
  232. ArrayList list = new ArrayList();
  233. list.Add(itemStyle);
  234. DataTable dt = ServerHelper.GetData("com.steering.lims.data.base.FrmBaseSelectItems.QueryPhyItems",
  235. new object[] { list }, ob);
  236. cmb.DataSource = dt;
  237. cmb.DisplayMember = "ITEM_NAME";
  238. cmb.ValueMember = "ITEM_CODE";
  239. ClsBaseInfo.SetComboItemHeight(cmb);
  240. }
  241. catch //(Exception ex)
  242. {
  243. //MessageUtil.ShowError(ex.Message);
  244. }
  245. }
  246. //确定按钮事件
  247. private void btnConfirm_Click(object sender, EventArgs e)
  248. {
  249. if (GetSelectItems() == false)
  250. {
  251. MessageUtil.ShowWarning("有选择的理化项目大类没有选择检验项,请选择!");
  252. }
  253. else
  254. {
  255. this.DialogResult = DialogResult.OK;
  256. //点击确认 保存SAMPLE_KEY
  257. DataRow[] arrDr;
  258. m_dtSelectSampleKey = dataTable2_2.Clone();
  259. foreach (DataRow dr in dataTable1_2.Rows)
  260. {
  261. arrDr = dataTable2_2.Select("PHY_CODE_MAX = '" + dr["PHY_CODE_MAX"].ToString() + "'");
  262. if (arrDr != null && arrDr.Length > 0)
  263. {
  264. foreach (DataRow drs in arrDr)
  265. {
  266. m_dtSelectSampleKey.ImportRow(drs);
  267. }
  268. }
  269. else
  270. {
  271. dr["SAMPLE_KEY"] = dr["PHY_CODE_MAX"].ToString();
  272. dr["SAMPLE_KEY_DESC"] = dr["PHY_NAME_MAX"].ToString();
  273. m_dtSelectSampleKey.ImportRow(dr);
  274. }
  275. }
  276. }
  277. }
  278. private void btnCancel_Click(object sender, EventArgs e)
  279. {
  280. if (MessageUtil.ShowYesNoAndQuestion("确定退出页面吗?") == DialogResult.Yes)
  281. {
  282. this.Close();
  283. }
  284. }
  285. //获取选择的项目0810
  286. private bool GetSelectItems()
  287. {
  288. m_dtSelectPhySampleCode = dataTable1_2.Copy();
  289. m_dtSelectPhyMin = dataTable3_2.Copy();//筛选出符合条件的小项
  290. if (m_dtSelectPhySampleCode.Rows.Count > 0)//判断是否有选择了大项没有选择小项的情况
  291. {
  292. foreach (DataRow dr in m_dtSelectPhySampleCode.Rows)
  293. {
  294. if (PublicPort.GetSelectDt(m_dtSelectPhyMin, "PHY_CODE_MAX = '" + dr["PHY_CODE_MAX"].ToString() + "'").Rows.Count == 0)
  295. {
  296. return false;
  297. }
  298. }
  299. }
  300. m_dtSelectPhyR = dataTable2_2.Copy();//筛选出符合条件的方向温度尺寸
  301. return true;
  302. }
  303. private void ultraGrid1_1_AfterRowActivate(object sender, EventArgs e)
  304. {
  305. //20160520根据试样组联动
  306. if (ultraGrid1_1.ActiveRow.Cells["CHK"].Text.Trim() == "True")
  307. {
  308. string phyMaxItems = "PHY_CODE_MAX = '" + ultraGrid1_1.ActiveRow.Cells["PHY_CODE_MAX"].Text.Trim() + "' AND PHY_CODE_MIN = '" + ultraGrid1_1.ActiveRow.Cells["PHY_CODE_MIN"].Text.Trim() + "'";
  309. //本来已经勾选的项目需要勾选2015-07-30
  310. foreach (DataRow drR in m_dtPhyMin.Rows)
  311. {
  312. drR["CHK"] = "False";
  313. foreach (DataRow dr in dataTable3_2.Rows)
  314. {
  315. //drR["CHK"] = "False";
  316. 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())
  317. {
  318. drR["CHK"] = "True";
  319. break;
  320. }
  321. }
  322. }
  323. GridHelper.CopyDataToDatatable(PublicPort.GetSelectDt(m_dtPhyMin, phyMaxItems), dataTable3_1, true);//筛选出符合条件的小项
  324. GridHelper.RefreshAndAutoSize(ultraGrid3_1);
  325. //datatable6 根据试样组显示对应的方向温度尺寸
  326. // //本来已经勾选的项目需要勾选2015-07-30
  327. foreach (DataRow drR in m_dtPhyR.Rows)
  328. {
  329. drR["CHK"] = "False";
  330. foreach (DataRow dr in dataTable2_2.Rows)
  331. {
  332. 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())
  333. {
  334. drR["CHK"] = "True";
  335. break;
  336. }
  337. }
  338. }
  339. GridHelper.CopyDataToDatatable(PublicPort.GetSelectDt(m_dtPhyR, phyMaxItems), dataTable2_1, true);//筛选出符合条件的小项
  340. GridHelper.RefreshAndAutoSize(ultraGrid2_1);
  341. }
  342. else
  343. {
  344. dataTable3_1.Rows.Clear();
  345. dataTable2_1.Rows.Clear();
  346. }
  347. }
  348. private void ultraGrid1_1_CellChange(object sender, CellEventArgs e)
  349. {
  350. if (e.Cell.Column.Key == "CHK")
  351. {
  352. ultraGrid1_1.UpdateData();
  353. if (e.Cell.Text == "True")
  354. {
  355. 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() + "'";
  356. //勾选了记录已经勾选的项目
  357. if (dataTable1_1.Select(phyMaxItems) != null && dataTable1_1.Select(phyMaxItems).Length > 0)
  358. {
  359. dataTable1_2.ImportRow(dataTable1_1.Select(phyMaxItems)[0]);
  360. }
  361. GridHelper.RefreshAndAutoSize(ultraGrid1_2);
  362. //本来已经勾选的项目需要勾选2015-07-30
  363. foreach (DataRow drR in m_dtPhyMin.Rows)
  364. {
  365. drR["CHK"] = "False";
  366. foreach (DataRow dr in dataTable3_2.Rows)
  367. {
  368. 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())
  369. {
  370. drR["CHK"] = "True";
  371. break;
  372. }
  373. }
  374. }
  375. //datatable根据试样组显示对应的方向温度尺寸
  376. GridHelper.CopyDataToDatatable(PublicPort.GetSelectDt(m_dtPhyR, phyMaxItems), dataTable2_1, true);//筛选出符合条件的小项
  377. GridHelper.RefreshAndAutoSize(ultraGrid2_1);
  378. GridHelper.CopyDataToDatatable(PublicPort.GetSelectDt(m_dtPhyMin, phyMaxItems), dataTable3_1, true);//筛选出符合条件的小项
  379. GridHelper.RefreshAndAutoSize(ultraGrid3_1);
  380. }
  381. else
  382. {
  383. //dataTable2_1和dataTable3_1有此项目的需删除
  384. dataTable2_1.Rows.Clear();
  385. dataTable3_1.Rows.Clear();
  386. if (dataTable1_2.Rows.Count > 0)
  387. {
  388. for (int i = 0; i < dataTable1_2.Rows.Count; i++)
  389. {
  390. if (e.Cell.Row.Cells["PHY_CODE_MAX"].Text.Trim() == dataTable1_2.Rows[i]["PHY_CODE_MAX"].ToString() && e.Cell.Row.Cells["PHY_CODE_MIN"].Text.Trim() == dataTable1_2.Rows[i]["PHY_CODE_MIN"].ToString())
  391. {
  392. dataTable1_2.Rows.RemoveAt(i);
  393. i--;
  394. }
  395. }
  396. }
  397. if (dataTable2_2.Rows.Count > 0)
  398. {
  399. for (int i = 0; i < dataTable2_2.Rows.Count; i++)
  400. {
  401. if (e.Cell.Row.Cells["PHY_CODE_MAX"].Text.Trim() == dataTable2_2.Rows[i]["PHY_CODE_MAX"].ToString() && e.Cell.Row.Cells["PHY_CODE_MIN"].Text.Trim() == dataTable2_2.Rows[i]["PHY_CODE_MIN"].ToString())
  402. {
  403. dataTable2_2.Rows.RemoveAt(i);
  404. i--;
  405. }
  406. }
  407. }
  408. if (dataTable3_2.Rows.Count > 0)
  409. {
  410. for (int i = 0; i < dataTable3_2.Rows.Count; i++)
  411. {
  412. if (e.Cell.Row.Cells["PHY_CODE_MAX"].Text.Trim() == dataTable3_2.Rows[i]["PHY_CODE_MAX"].ToString() && e.Cell.Row.Cells["PHY_CODE_MIN"].Text.Trim() == dataTable3_2.Rows[i]["PHY_CODE_MIN"].ToString())
  413. {
  414. dataTable3_2.Rows.RemoveAt(i);
  415. i--;
  416. }
  417. }
  418. }
  419. GridHelper.RefreshAndAutoSize(ultraGrid1_2);
  420. GridHelper.RefreshAndAutoSize(ultraGrid2_2);
  421. GridHelper.RefreshAndAutoSize(ultraGrid3_2);
  422. }
  423. }
  424. }
  425. private void ultraGrid2_1_AfterRowActivate(object sender, EventArgs e)
  426. {
  427. }
  428. private void ultraGrid2_1_CellChange(object sender, CellEventArgs e)
  429. {
  430. if (e.Cell.Column.Key == "CHK")
  431. {
  432. ultraGrid2_1.UpdateData();
  433. if (e.Cell.Text == "True")
  434. {
  435. DataRow dr = dataTable2_2.NewRow();
  436. foreach (UltraGridColumn uc in ultraGrid2_1.DisplayLayout.Bands[0].Columns)
  437. {
  438. dr[uc.Key] = e.Cell.Row.Cells[uc.Key].Text.Trim();
  439. }
  440. //SAMPLE_KEY
  441. string strSample_key = e.Cell.Row.Cells["PHY_CODE_MAX"].Text.Trim() + "_" + e.Cell.Row.Cells["ITEM_CODE_F"].Text.Trim() + "_" + e.Cell.Row.Cells["ITEM_CODE_W"].Text.Trim() + "_" + e.Cell.Row.Cells["ITEM_CODE_C"].Text.Trim() + "_";
  442. dr["SAMPLE_KEY"] = strSample_key.Substring(0, strSample_key.Length - 1);
  443. string strSAMPLE_KEY_DESC = e.Cell.Row.Cells["PHY_NAME_MAX"].Text.Trim() + "_" + e.Cell.Row.Cells["ITEM_NAME_F"].Text.Trim() + "_" + e.Cell.Row.Cells["ITEM_NAME_W"].Text.Trim() + "_" + e.Cell.Row.Cells["ITEM_NAME_C"].Text.Trim() + "_";
  444. dr["SAMPLE_KEY_DESC"] = strSAMPLE_KEY_DESC.Substring(0, strSAMPLE_KEY_DESC.Length - 1);
  445. //if (e.Cell.Row.Cells["ITEM_CODE_F"].Text.Trim() != "" || e.Cell.Row.Cells["ITEM_CODE_W"].Text.Trim() != "" || e.Cell.Row.Cells["ITEM_CODE_C"].Text.Trim() != "")
  446. //{
  447. // strSAMPLE_KEY_DESC += "(";
  448. // strSAMPLE_KEY_DESC += (e.Cell.Row.Cells["ITEM_NAME_F"].Text.Trim() + " " + e.Cell.Row.Cells["ITEM_NAME_W"].Text.Trim() + " " + e.Cell.Row.Cells["ITEM_NAME_C"].Text.Trim()).Trim() + ")";
  449. //}
  450. dataTable2_2.Rows.Add(dr);
  451. }
  452. else
  453. {
  454. for (int i = 0; i < dataTable2_2.Rows.Count; i++)
  455. {
  456. if (e.Cell.Row.Cells["PHY_CODE_MAX"].Text.Trim() == dataTable2_2.Rows[i]["PHY_CODE_MAX"].ToString() && e.Cell.Row.Cells["ITEM_CODE_F"].Text.Trim() == dataTable2_2.Rows[i]["ITEM_CODE_F"].ToString().Trim() && e.Cell.Row.Cells["ITEM_CODE_W"].Text.Trim() == dataTable2_2.Rows[i]["ITEM_CODE_W"].ToString().Trim() && e.Cell.Row.Cells["ITEM_CODE_C"].Text.Trim() == dataTable2_2.Rows[i]["ITEM_CODE_C"].ToString().Trim())
  457. {
  458. dataTable2_2.Rows.RemoveAt(i);
  459. i--;
  460. }
  461. }
  462. }
  463. GridHelper.RefreshAndAutoSize(ultraGrid2_2);
  464. }
  465. }
  466. private void ultraGrid3_1_CellChange(object sender, CellEventArgs e)
  467. {
  468. if (e.Cell.Column.Key == "CHK")
  469. {
  470. ultraGrid3_1.UpdateData();
  471. if (e.Cell.Text == "True")
  472. {
  473. 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() + "'";
  474. if (dataTable3_1.Select(phyMinItems) != null && dataTable3_1.Select(phyMinItems).Length > 0)
  475. {
  476. dataTable3_2.ImportRow(dataTable3_1.Select(phyMinItems)[0]);
  477. }
  478. //GridHelper.RefreshAndAutoSize(ultraGrid5);
  479. //检验项变动对方向温度尺寸没影响
  480. //本来已经勾选的项目需要勾选2015-07-30
  481. //foreach (DataRow drR in m_dtPhyR.Rows)
  482. //{
  483. // drR["CHK"] = "False";
  484. // foreach (DataRow dr in dataTable2_2.Rows)
  485. // {
  486. // //drR["CHK"] = "False";
  487. // if (drR["PHY_CODE"].ToString() == dr["PHY_CODE"].ToString())
  488. // {
  489. // drR["CHK"] = "True";
  490. // break;
  491. // }
  492. // }
  493. //}
  494. //GridHelper.CopyDataToDatatable(PublicPort.GetSelectDt(m_dtPhyR, phyMinItems), dataTable2_1, true);//筛选出符合条件的小项
  495. //GridHelper.RefreshAndAutoSize(ultraGrid2_1);
  496. }
  497. else
  498. {
  499. //dataTable4和dataTable5有此项目的需删除
  500. for (int i = 0; i < dataTable3_2.Rows.Count; i++)
  501. {
  502. if (e.Cell.Row.Cells["PHY_CODE"].Text.Trim() == dataTable3_2.Rows[i]["PHY_CODE"].ToString())
  503. {
  504. dataTable3_2.Rows.RemoveAt(i);
  505. i--;
  506. }
  507. }
  508. //小项跟方向温度尺寸无关
  509. //dataTable6.Rows.Clear();
  510. //for (int i = 0; i < dataTable2_2.Rows.Count; i++)
  511. //{
  512. // if (e.Cell.Row.Cells["PHY_CODE"].Text.Trim() == dataTable2_2.Rows[i]["PHY_CODE"].ToString())
  513. // {
  514. // dataTable2_2.Rows.RemoveAt(i);
  515. // i--;
  516. // }
  517. //}
  518. }
  519. GridHelper.RefreshAndAutoSize(ultraGrid3_2);
  520. //GridHelper.RefreshAndAutoSize(ultraGrid2_2);
  521. }
  522. }
  523. }
  524. }