QCM030203.cs 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850
  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;
  11. using System.Collections;
  12. using Infragistics.Win.UltraWinGrid;
  13. using System.Text.RegularExpressions;
  14. using Core.LZMes.Client.QCM.QCM03;
  15. using System.Diagnostics;
  16. namespace Core.LZMes.Client.QCM
  17. {
  18. public partial class QCM030203 : FrmBase
  19. {
  20. public QCM030203()
  21. {
  22. InitializeComponent();
  23. }
  24. public override void ToolBar_Click(object sender, string ToolbarKey)
  25. {
  26. switch (ToolbarKey)
  27. {
  28. case "Query":
  29. this.DoQuery();
  30. break;
  31. case "Judge":
  32. this.Judge();
  33. break;
  34. case "Cancel":
  35. this.Cancel();
  36. break;
  37. case "Check":
  38. this.check();
  39. break;
  40. case "Result":
  41. this.result();
  42. break;
  43. case "Export":
  44. this.DoExport();
  45. break;
  46. case "ReJudge":
  47. this.ReJudge();
  48. break;
  49. }
  50. }
  51. private void ReJudge()
  52. {
  53. try
  54. {
  55. UltraGridRow ugr = this.ultraGrid3.ActiveRow;
  56. if (ugr == null)
  57. return;
  58. string material_no = ugr.Cells["specimen_no"].Value.ToString();
  59. if (MessageBox.Show(this, "是否对" + material_no + "重新进行材质判定?", "删除", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No)
  60. {
  61. return;
  62. }
  63. string smp_no = ugr.Cells["smp_no"].Value.ToString();
  64. string batch_no = ugr.Cells["batch_no"].Value.ToString();
  65. string smp_type_code = ugr.Cells["smp_type_code"].Value.ToString();
  66. string design_key = ugr.Cells["design_key"].Value.ToString();
  67. string pline_code = ugr.Cells["pline_code"].Value.ToString();
  68. string username = this.UserInfo.GetUserName();
  69. CoreClientParam ccp = new CoreClientParam();
  70. ccp.ServerName = "QCM.QCM03.QCM0302.QcmJudgePhysicalServiceImpl";
  71. ccp.MethodName = "PhyRejudge";
  72. ccp.ServerParams = new object[] {smp_no, material_no, batch_no, smp_type_code, design_key, pline_code, username };
  73. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  74. if (ccp.ReturnCode == 1)
  75. {
  76. MessageBox.Show(ccp.ReturnInfo);
  77. return;
  78. }
  79. MessageBox.Show("操作成功!");
  80. }
  81. catch (Exception EX)
  82. {
  83. MessageBox.Show(EX.ToString());
  84. }
  85. }
  86. private void result()
  87. {
  88. if (this.ultraTabControl1.Tabs[0].Selected) //待判信息
  89. {
  90. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  91. string smp_no = ugr.Cells["SMP_NO"].Value.ToString();
  92. string design_key = ugr.Cells["DESIGN_KEY"].Value.ToString();
  93. string steel_name = ugr.Cells["STEEL_NAME"].Value.ToString();
  94. ArrayList list1 = new ArrayList();
  95. int count = 0;
  96. foreach (UltraGridRow ugrs in this.ultraGrid2.Rows)
  97. {
  98. if (ugrs.Cells["CHECK"].Text.ToString() == "True")
  99. {
  100. list1.Add(ugrs.Cells["specimen_no"].Value.ToString() + ugrs.Cells["seq"].Value.ToString() + ugrs.Cells["phy_code_l"].Value.ToString() + ugrs.Cells["phy_code_m"].Value.ToString() + ugrs.Cells["phy_code_s"].Value.ToString() + ugrs.Cells["item_code_d"].Value.ToString() + ugrs.Cells["item_code_s"].Value.ToString() + ugrs.Cells["item_code_t"].Value.ToString());
  101. count++;
  102. }
  103. }
  104. if (count == 0)
  105. {
  106. MessageBox.Show("请选择检验实绩!");
  107. return;
  108. }
  109. QCM030713 dlg = new QCM030713();
  110. dlg.smp_no = smp_no;
  111. dlg.design_key = design_key;
  112. dlg.steel_name = steel_name;
  113. dlg.list = list1;
  114. dlg.ob = this.ob;
  115. dlg.ShowDialog();
  116. }
  117. if (this.ultraTabControl1.Tabs[1].Selected) //判定记录
  118. {
  119. UltraGridRow ugr = this.ultraGrid3.ActiveRow;
  120. string smp_no = ugr.Cells["SMP_NO"].Value.ToString();
  121. string design_key = ugr.Cells["DESIGN_KEY"].Value.ToString();
  122. string steel_name = ugr.Cells["STEEL_NAME"].Value.ToString();
  123. ArrayList list1 = new ArrayList();
  124. int count = 0;
  125. foreach (UltraGridRow ugrs in this.ultraGrid4.Rows)
  126. {
  127. list1.Add(ugrs.Cells["specimen_no"].Value.ToString() + ugrs.Cells["seq"].Value.ToString() + ugrs.Cells["phy_code_l"].Value.ToString() + ugrs.Cells["phy_code_m"].Value.ToString() + ugrs.Cells["phy_code_s"].Value.ToString() + ugrs.Cells["item_code_d"].Value.ToString() + ugrs.Cells["item_code_s"].Value.ToString() + ugrs.Cells["item_code_t"].Value.ToString());
  128. }
  129. QCM030713 dlg = new QCM030713();
  130. dlg.smp_no = smp_no;
  131. dlg.design_key = design_key;
  132. dlg.steel_name = steel_name;
  133. dlg.list = list1;
  134. dlg.ob = this.ob;
  135. dlg.ShowDialog();
  136. }
  137. }
  138. private void check()
  139. {
  140. try
  141. {
  142. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  143. string smp_no = ugr.Cells["SMP_NO"].Value.ToString();
  144. string steel_name = ugr.Cells["STEEL_NAME"].Value.ToString();
  145. ArrayList list1 = new ArrayList();
  146. int count = 0;
  147. foreach (UltraGridRow ugrs in this.ultraGrid2.Rows)
  148. {
  149. if (ugrs.Cells["CHECK"].Text.ToString() == "True")
  150. {
  151. list1.Add(ugrs.Cells["specimen_no"].Value.ToString() + ugrs.Cells["phy_code_l"].Value.ToString() + ugrs.Cells["phy_code_m"].Value.ToString() + ugrs.Cells["phy_code_s"].Value.ToString() + ugrs.Cells["item_code_d"].Value.ToString() + ugrs.Cells["item_code_s"].Value.ToString() + ugrs.Cells["item_code_t"].Value.ToString());
  152. count++;
  153. }
  154. }
  155. if (count == 0)
  156. {
  157. MessageBox.Show("请选择检验实绩!");
  158. return;
  159. }
  160. string username = this.UserInfo.GetUserName();
  161. CoreClientParam ccp = new CoreClientParam();
  162. ccp.ServerName = "QCM.QCM03.QCM0302.QcmJhyPhyresultServiceImpl";
  163. ccp.MethodName = "PhyFstJudge";
  164. ccp.ServerParams = new object[] { smp_no, list1, username };
  165. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  166. if (ccp.ReturnCode == 1)
  167. {
  168. MessageBox.Show(ccp.ReturnInfo);
  169. }
  170. }
  171. catch (Exception EX)
  172. {
  173. MessageBox.Show(EX.ToString());
  174. }
  175. }
  176. private void Judge()
  177. {
  178. try
  179. {
  180. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  181. string smp_no = ugr.Cells["SMP_NO"].Value.ToString();
  182. string steel_name = ugr.Cells["STEEL_NAME"].Value.ToString();
  183. ArrayList list1 = new ArrayList();
  184. int count = 0;
  185. foreach(UltraGridRow ugrs in this.ultraGrid2.Rows)
  186. {
  187. if(ugrs.Cells["CHECK"].Text.ToString() == "True")
  188. {
  189. list1.Add(ugrs.Cells["specimen_no"].Value.ToString() + ugrs.Cells["seq"].Value.ToString() + ugrs.Cells["phy_code_l"].Value.ToString() + ugrs.Cells["phy_code_m"].Value.ToString() + ugrs.Cells["phy_code_s"].Value.ToString() + ugrs.Cells["item_code_d"].Value.ToString() + ugrs.Cells["item_code_s"].Value.ToString() + ugrs.Cells["item_code_t"].Value.ToString());
  190. count ++;
  191. }
  192. }
  193. if(count == 0){
  194. MessageBox.Show("请选择检验实绩!");
  195. return;
  196. }
  197. string username = this.UserInfo.GetUserName();
  198. CoreClientParam ccp = new CoreClientParam();
  199. ccp.ServerName = "QCM.QCM03.QCM0302.QcmJhyPhyresultServiceImpl";
  200. ccp.MethodName = "JudgeByHuman";
  201. ccp.ServerParams = new object[] { smp_no, list1, username, steel_name };
  202. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  203. if (ccp.ReturnCode == -1)
  204. {
  205. return;
  206. }
  207. ugr.Delete(false);
  208. MessageBox.Show("判定成功!");
  209. }
  210. catch (Exception EX)
  211. {
  212. MessageBox.Show(EX.ToString());
  213. }
  214. }
  215. private void Cancel()
  216. {
  217. try
  218. {
  219. QCM030607 frm = new QCM030607();
  220. if (frm.ShowDialog() == DialogResult.OK)
  221. {
  222. string remark = frm._memo;
  223. if (remark == "")
  224. {
  225. MessageBox.Show("请录入备注信息!");
  226. return;
  227. }
  228. if (this.ultraGrid3.Selected.Rows.Count == 0)
  229. this.ultraGrid3.ActiveRow.Selected = true;
  230. foreach (UltraGridRow ugr in this.ultraGrid3.Selected.Rows)
  231. {
  232. string inspection_lot = ugr.Cells["inspection_lot"].Value.ToString();
  233. string phy_id = ugr.Cells["phy_id"].Value.ToString();
  234. string smp_no = ugr.Cells["smp_no"].Value.ToString();
  235. string username = this.UserInfo.GetUserName();
  236. CoreClientParam ccp = new CoreClientParam();
  237. ccp.ServerName = "QCM.QCM03.QCM0302.QcmJudgePhysicalServiceImpl";
  238. ccp.MethodName = "CancelJudge";
  239. ccp.ServerParams = new object[] { phy_id,inspection_lot, smp_no, username,remark };
  240. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  241. if (ccp.ReturnCode == -1)
  242. {
  243. return;
  244. }
  245. MessageBox.Show("取消判定成功!");
  246. }
  247. }
  248. }
  249. catch (Exception EX)
  250. {
  251. MessageBox.Show(EX.ToString());
  252. }
  253. }
  254. private void DoQuery()
  255. {
  256. if (this.ultraTabControl1.Tabs[0].Selected) //待判信息
  257. {
  258. DoQueryMe();
  259. }
  260. if (this.ultraTabControl1.Tabs[1].Selected) //判定记录
  261. {
  262. DoQueryRe();
  263. }
  264. }
  265. //查询待判信息
  266. private void DoQueryMe()
  267. {
  268. try
  269. {
  270. if (comboBox4.SelectedIndex == 2)
  271. {
  272. MessageBox.Show("请选择委托生成或者发送时间!");
  273. return;
  274. }
  275. this.dataSet1.Clear();
  276. string ebatchno = "";
  277. string bbatchno = textBox1.Text.Trim();
  278. if (textBox2.Text.ToString() == "")
  279. {
  280. ebatchno = this.textBox1.Text.Trim();
  281. }
  282. else
  283. {
  284. ebatchno = textBox2.Text.Trim();
  285. }
  286. string design_key = textBox3.Text.Trim();
  287. string psc = textBox4.Text.Trim();
  288. string prodline = this.comboBox3.Text.ToString();
  289. string certinstname = comboBox1.Text.ToString();
  290. string status = comboBox2.Text.ToString();
  291. string time_type = this.comboBox4.SelectedIndex.ToString();
  292. string heat_no = this.textBox6.Text.ToString();
  293. CoreClientParam ccp = new CoreClientParam();
  294. ccp.ServerName = "QCM.QCM03.QCM0302.QcmJhyPhyresultServiceImpl";
  295. ccp.MethodName = "getRejudgeInfo";
  296. ccp.ServerParams = new object[] {this.dateTimePicker1.Value.ToString("yyyyMMdd"), this.dateTimePicker2.Value.ToString("yyyyMMdd"), bbatchno, ebatchno, design_key, psc,"",prodline ,certinstname,status,time_type,heat_no };
  297. ccp.SourceDataTable = this.dataSet1.Tables[0];
  298. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  299. }
  300. catch (Exception ex)
  301. {
  302. System.Diagnostics.Debug.WriteLine(ex.ToString());
  303. MessageBox.Show("系统出错,请联系管理人员", "警告");
  304. }
  305. }
  306. //查询判定记录
  307. private void DoQueryRe()
  308. {
  309. try
  310. {
  311. if (comboBox4.SelectedIndex != 2)
  312. {
  313. MessageBox.Show("请选择判定时间!");
  314. return;
  315. }
  316. this.dataSet3.Clear();
  317. string ebatchno = "";
  318. string bbatchno = textBox1.Text.Trim();
  319. if (textBox2.Text.ToString() == "")
  320. {
  321. ebatchno = this.textBox1.Text.Trim();
  322. }
  323. else
  324. {
  325. ebatchno = textBox2.Text.Trim();
  326. }
  327. string design_key = textBox3.Text.Trim();
  328. string psc = textBox4.Text.Trim();
  329. string prodline = this.comboBox3.Text.ToString();
  330. string certinstname = comboBox1.Text.ToString();
  331. string heat_no = this.textBox6.Text.ToString();
  332. CoreClientParam ccp = new CoreClientParam();
  333. ccp.ServerName = "QCM.QCM03.QCM0302.QcmJudgePhysicalServiceImpl";
  334. ccp.MethodName = "doQueryQcmJudgePhysical";
  335. ccp.ServerParams = new object[] { bbatchno, ebatchno, design_key, psc, this.dateTimePicker1.Value.ToString("yyyyMMdd"), this.dateTimePicker2.Value.ToString("yyyyMMdd"),"",prodline,certinstname,heat_no };
  336. ccp.SourceDataTable = this.dataSet3.Tables[0];
  337. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  338. //for (int i = 0; i < ccp.SourceDataTable.Rows.Count; i++)
  339. //{
  340. // foreach (UltraGridRow ugr3 in this.ultraGrid3.Rows)
  341. // {
  342. // if (ugr3.Cells["phy_result_desc"].Value.ToString() == "合格")
  343. // {
  344. // ugr3.Cells["phy_result_desc"].Appearance.BackColor = Color.FromArgb(185, 235, 204);
  345. // ugr3.Cells["phy_result_desc"].Appearance.ForeColor = Color.Black;
  346. // }
  347. // else
  348. // {
  349. // ugr3.Cells["phy_result_desc"].Appearance.BackColor = Color.FromArgb(249, 198, 186);
  350. // ugr3.Cells["phy_result_desc"].Appearance.ForeColor = Color.Black;
  351. // }
  352. // }
  353. //}
  354. }
  355. catch (Exception ex)
  356. {
  357. System.Diagnostics.Debug.WriteLine(ex.ToString());
  358. MessageBox.Show("系统出错,请联系管理人员", "警告");
  359. }
  360. }
  361. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  362. {
  363. try
  364. {
  365. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  366. if (ugr == null)
  367. return;
  368. this.dataSet4.Clear();
  369. string smp_no = ugr.Cells["SMP_NO"].Value.ToString();
  370. string design_key = ugr.Cells["DESIGN_KEY"].Value.ToString();
  371. string steel_name = ugr.Cells["STEEL_NAME"].Value.ToString();
  372. CoreClientParam ccp = new CoreClientParam();
  373. ccp.ServerName = "QCM.QCM03.QCM0302.QcmJhyPhyresultServiceImpl";
  374. ccp.MethodName = "querryJudgetItems";
  375. ccp.ServerParams = new object[] { smp_no,design_key,steel_name };
  376. ccp.SourceDataTable = this.dataSet4.Tables[0];
  377. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  378. foreach (UltraGridRow ugrs in this.ultraGrid2.Rows)
  379. {
  380. if (ugrs.Cells["defect_flag"].Value.ToString() == "是")
  381. {
  382. ugrs.Cells["defect_flag"].Appearance.ForeColor = Color.Red;
  383. }
  384. if (ugr.Cells["SMP_TYPE_CODE"].Text.ToString() == "初样")
  385. {
  386. ugrs.Cells["CHECK"].Value = "True";
  387. }
  388. if (ugrs.Cells["isjudge"].Value.ToString() == "是")
  389. {
  390. if (ugrs.Cells["judge_basis"].Value.ToString() == "逐值判定")
  391. {
  392. if (ugrs.Cells["val1"].Text.ToString() == "")
  393. {
  394. ugrs.Cells["val1"].Appearance.BackColor = Color.Yellow;
  395. }
  396. }
  397. else if (ugrs.Cells["judge_basis"].Value.ToString() == "平均值")
  398. {
  399. if (ugrs.Cells["avg_val"].Text.ToString() == "")
  400. {
  401. ugrs.Cells["avg_val"].Appearance.BackColor = Color.Yellow;
  402. }
  403. }
  404. }
  405. if (ugrs.Cells["isjudge"].Value.ToString() == "是")
  406. {
  407. if (ugrs.Cells["judge_basis"].Value.ToString() == "逐值判定")
  408. {
  409. DataTable dt = new DataTable();
  410. if (IsNumberal(ugrs.Cells["val1"].Value.ToString()))
  411. {
  412. if (ishz(ugrs.Cells["jf_stdmin"].Value.ToString()) || ishz(ugrs.Cells["jf_stdmax"].Value.ToString()))
  413. {
  414. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  415. }
  416. else
  417. {
  418. if (ugrs.Cells["jf_stdmin"].Value.ToString() != "" && ugrs.Cells["val1"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val1"].Value.ToString() + ugrs.Cells["jf_stdmin"].Value.ToString(), ""))
  419. {
  420. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  421. }
  422. if (ugrs.Cells["jf_stdmax"].Value.ToString() != "" && ugrs.Cells["val1"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val1"].Value.ToString() + ugrs.Cells["jf_stdmax"].Value.ToString(), ""))
  423. {
  424. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  425. }
  426. }
  427. }
  428. else
  429. {
  430. if (ugrs.Cells["jf_stdmin"].Value.ToString() != "" && ugrs.Cells["val1"].Value.ToString() != "" && ugrs.Cells["jf_stdmin_sign"].Value.ToString() + ugrs.Cells["val1"].Value.ToString() != ugrs.Cells["jf_stdmin"].Value.ToString())
  431. {
  432. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  433. }
  434. if (ugrs.Cells["jf_stdmax"].Value.ToString() != "" && ugrs.Cells["val1"].Value.ToString() != "" && ugrs.Cells["jf_stdmax_sign"].Value.ToString() + ugrs.Cells["val1"].Value.ToString() != ugrs.Cells["jf_stdmax"].Value.ToString())
  435. {
  436. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  437. }
  438. }
  439. if (ugrs.Cells["jf_stdmin"].Value.ToString() != "" && ugrs.Cells["val2"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val2"].Value.ToString() + ugrs.Cells["jf_stdmin"].Value.ToString(), ""))
  440. {
  441. ugrs.Cells["val2"].Appearance.ForeColor = Color.Red;
  442. }
  443. if (ugrs.Cells["jf_stdmax"].Value.ToString() != "" && ugrs.Cells["val2"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val2"].Value.ToString() + ugrs.Cells["jf_stdmax"].Value.ToString(), ""))
  444. {
  445. ugrs.Cells["val2"].Appearance.ForeColor = Color.Red;
  446. }
  447. if (ugrs.Cells["jf_stdmin"].Value.ToString() != "" && ugrs.Cells["val3"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val3"].Value.ToString() + ugrs.Cells["jf_stdmin"].Value.ToString(), ""))
  448. {
  449. ugrs.Cells["val3"].Appearance.ForeColor = Color.Red;
  450. }
  451. if (ugrs.Cells["jf_stdmax"].Value.ToString() != "" && ugrs.Cells["val3"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val3"].Value.ToString() + ugrs.Cells["jf_stdmax"].Value.ToString(), ""))
  452. {
  453. ugrs.Cells["val3"].Appearance.ForeColor = Color.Red;
  454. }
  455. if (ugrs.Cells["nk_stdmin"].Value.ToString() != "" && ugrs.Cells["val1"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val1"].Value.ToString() + ugrs.Cells["nk_stdmin"].Value.ToString(), ""))
  456. {
  457. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  458. }
  459. if (ugrs.Cells["nk_stdmax"].Value.ToString() != "" && ugrs.Cells["val1"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val1"].Value.ToString() + ugrs.Cells["nk_stdmax"].Value.ToString(), ""))
  460. {
  461. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  462. }
  463. if (ugrs.Cells["nk_stdmin"].Value.ToString() != "" && ugrs.Cells["val2"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val2"].Value.ToString() + ugrs.Cells["nk_stdmin"].Value.ToString(), ""))
  464. {
  465. ugrs.Cells["val2"].Appearance.ForeColor = Color.Red;
  466. }
  467. if (ugrs.Cells["nk_stdmax"].Value.ToString() != "" && ugrs.Cells["val2"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val2"].Value.ToString() + ugrs.Cells["nk_stdmax"].Value.ToString(), ""))
  468. {
  469. ugrs.Cells["val2"].Appearance.ForeColor = Color.Red;
  470. }
  471. if (ugrs.Cells["nk_stdmin"].Value.ToString() != "" && ugrs.Cells["val3"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val3"].Value.ToString() + ugrs.Cells["nk_stdmin"].Value.ToString(), ""))
  472. {
  473. ugrs.Cells["val3"].Appearance.ForeColor = Color.Red;
  474. }
  475. if (ugrs.Cells["nk_stdmax"].Value.ToString() != "" && ugrs.Cells["val3"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val3"].Value.ToString() + ugrs.Cells["nk_stdmax"].Value.ToString(), ""))
  476. {
  477. ugrs.Cells["val3"].Appearance.ForeColor = Color.Red;
  478. }
  479. if (ugrs.Cells["kh_stdmin"].Value.ToString() != "" && ugrs.Cells["val1"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val1"].Value.ToString() + ugrs.Cells["kh_stdmin"].Value.ToString(), ""))
  480. {
  481. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  482. }
  483. if (ugrs.Cells["kh_stdmax"].Value.ToString() != "" && ugrs.Cells["val1"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val1"].Value.ToString() + ugrs.Cells["kh_stdmax"].Value.ToString(), ""))
  484. {
  485. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  486. }
  487. if (ugrs.Cells["kh_stdmin"].Value.ToString() != "" && ugrs.Cells["val2"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val2"].Value.ToString() + ugrs.Cells["kh_stdmin"].Value.ToString(), ""))
  488. {
  489. ugrs.Cells["val2"].Appearance.ForeColor = Color.Red;
  490. }
  491. if (ugrs.Cells["kh_stdmax"].Value.ToString() != "" && ugrs.Cells["val2"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val2"].Value.ToString() + ugrs.Cells["kh_stdmax"].Value.ToString(), ""))
  492. {
  493. ugrs.Cells["val2"].Appearance.ForeColor = Color.Red;
  494. }
  495. if (ugrs.Cells["kh_stdmin"].Value.ToString() != "" && ugrs.Cells["val3"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val3"].Value.ToString() + ugrs.Cells["kh_stdmin"].Value.ToString(), ""))
  496. {
  497. ugrs.Cells["val3"].Appearance.ForeColor = Color.Red;
  498. }
  499. if (ugrs.Cells["kh_stdmax"].Value.ToString() != "" && ugrs.Cells["val3"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val3"].Value.ToString() + ugrs.Cells["kh_stdmax"].Value.ToString(), ""))
  500. {
  501. ugrs.Cells["val3"].Appearance.ForeColor = Color.Red;
  502. }
  503. }
  504. else if (ugrs.Cells["judge_basis"].Value.ToString() == "平均值")
  505. {
  506. DataTable dt = new DataTable();
  507. if (ugrs.Cells["jf_stdmin"].Value.ToString() != "" && ugrs.Cells["avg_val"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["avg_val"].Value.ToString() + ugrs.Cells["jf_stdmin"].Value.ToString(), ""))
  508. {
  509. ugrs.Cells["avg_val"].Appearance.ForeColor = Color.Red;
  510. }
  511. if (ugrs.Cells["jf_stdmax"].Value.ToString() != "" && ugrs.Cells["avg_val"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["avg_val"].Value.ToString() + ugrs.Cells["jf_stdmax"].Value.ToString(), ""))
  512. {
  513. ugrs.Cells["avg_val"].Appearance.ForeColor = Color.Red;
  514. }
  515. if (ugrs.Cells["kh_stdmin"].Value.ToString() != "" && ugrs.Cells["avg_val"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["avg_val"].Value.ToString() + ugrs.Cells["kh_stdmin"].Value.ToString(), ""))
  516. {
  517. ugrs.Cells["avg_val"].Appearance.ForeColor = Color.Red;
  518. }
  519. if (ugrs.Cells["kh_stdmax"].Value.ToString() != "" && ugrs.Cells["avg_val"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["avg_val"].Value.ToString() + ugrs.Cells["kh_stdmax"].Value.ToString(), ""))
  520. {
  521. ugrs.Cells["avg_val"].Appearance.ForeColor = Color.Red;
  522. }
  523. if (ugrs.Cells["nk_stdmin"].Value.ToString() != "" && ugrs.Cells["avg_val"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["avg_val"].Value.ToString() + ugrs.Cells["nk_stdmin"].Value.ToString(), ""))
  524. {
  525. ugrs.Cells["avg_val"].Appearance.ForeColor = Color.Red;
  526. }
  527. if (ugrs.Cells["nk_stdmax"].Value.ToString() != "" && ugrs.Cells["avg_val"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["avg_val"].Value.ToString() + ugrs.Cells["nk_stdmax"].Value.ToString(), ""))
  528. {
  529. ugrs.Cells["avg_val"].Appearance.ForeColor = Color.Red;
  530. }
  531. }
  532. }
  533. }
  534. RefreshAndAutoSize(ultraGrid2);
  535. //设置需要调整的长度
  536. ultraGrid2.DisplayLayout.Bands[0].Columns["defect_flag"].RowLayoutColumnInfo.PreferredCellSize = new System.Drawing.Size(40, 0);
  537. ultraGrid2.DisplayLayout.Bands[0].Columns["val1"].RowLayoutColumnInfo.PreferredCellSize = new System.Drawing.Size(50, 0);
  538. ultraGrid2.DisplayLayout.Bands[0].Columns["val2"].RowLayoutColumnInfo.PreferredCellSize = new System.Drawing.Size(50, 0);
  539. ultraGrid2.DisplayLayout.Bands[0].Columns["val3"].RowLayoutColumnInfo.PreferredCellSize = new System.Drawing.Size(50, 0);
  540. ultraGrid2.DisplayLayout.Bands[0].Columns["avg_val"].RowLayoutColumnInfo.PreferredCellSize = new System.Drawing.Size(65, 0);
  541. }
  542. catch (Exception ex)
  543. {
  544. //System.Diagnostics.Debug.WriteLine(ex.ToString());
  545. //MessageBox.Show("系统出错,请联系管理人员", "警告");
  546. }
  547. }
  548. public static bool IsNumberal(string input)
  549. {
  550. bool flag = true;
  551. int count = 0;
  552. int count1 = 0;
  553. if (input.Length == 0)
  554. {
  555. flag = false;
  556. }
  557. else
  558. {
  559. char[] x = input.ToCharArray();
  560. for (int i = 0; i < input.Length; i++)
  561. {
  562. if (!char.IsNumber(x[i]) && x[i] != '.'&&x[i] != '-')
  563. {
  564. flag = false; break;
  565. }
  566. if (x[i] == '.')
  567. {
  568. count++;
  569. if (i == 0 || i == input.Length - 1) flag = false;
  570. }
  571. if (x[i] == '-')
  572. {
  573. count1++;
  574. if (i >1) flag = false;
  575. }
  576. }
  577. if (count > 1 || count1 > 1) flag = false;
  578. }
  579. return flag;
  580. }
  581. private static bool ishz(string text)
  582. {
  583. if (Regex.IsMatch(text, @"[\u4e00-\u9fa5]"))
  584. {
  585. return true;
  586. }
  587. else
  588. {
  589. return false;
  590. }
  591. }
  592. private void ultraGrid3_AfterRowActivate(object sender, EventArgs e)
  593. {
  594. try
  595. {
  596. UltraGridRow ugr = this.ultraGrid3.ActiveRow;
  597. if (ugr == null)
  598. return;
  599. this.dataSet2.Clear();
  600. string phy_id = ugr.Cells["phy_id"].Value.ToString();
  601. CoreClientParam ccp = new CoreClientParam();
  602. ccp.ServerName = "QCM.QCM03.QCM0302.QcmJhyPhyresultServiceImpl";
  603. ccp.MethodName = "querryJudgetItemss";
  604. ccp.ServerParams = new object[] { phy_id };
  605. ccp.SourceDataTable = this.dataSet2.Tables[0];
  606. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  607. foreach (UltraGridRow ugrs in this.ultraGrid4.Rows)
  608. {
  609. if (ugrs.Cells["defect_flag"].Value.ToString() == "是")
  610. {
  611. ugrs.Cells["defect_flag"].Appearance.ForeColor = Color.Red;
  612. }
  613. if (ugrs.Cells["isjudge"].Value.ToString() == "是")
  614. {
  615. if (ugrs.Cells["judge_basis"].Value.ToString() == "逐值判定")
  616. {
  617. DataTable dt = new DataTable();
  618. if (IsNumberal(ugrs.Cells["val1"].Value.ToString()))
  619. {
  620. if (ishz(ugrs.Cells["jf_stdmin"].Value.ToString()) || ishz(ugrs.Cells["jf_stdmax"].Value.ToString()))
  621. {
  622. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  623. }
  624. else
  625. {
  626. if (ugrs.Cells["jf_stdmin"].Value.ToString() != "" && ugrs.Cells["val1"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val1"].Value.ToString() + ugrs.Cells["jf_stdmin"].Value.ToString(), ""))
  627. {
  628. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  629. }
  630. if (ugrs.Cells["jf_stdmax"].Value.ToString() != "" && ugrs.Cells["val1"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val1"].Value.ToString() + ugrs.Cells["jf_stdmax"].Value.ToString(), ""))
  631. {
  632. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  633. }
  634. }
  635. }
  636. else
  637. {
  638. if (ugrs.Cells["jf_stdmin"].Value.ToString() != "" && ugrs.Cells["val1"].Value.ToString() != "" && ugrs.Cells["jf_stdmin_sign"].Value.ToString() +ugrs.Cells["val1"].Value.ToString() != ugrs.Cells["jf_stdmin"].Value.ToString())
  639. {
  640. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  641. }
  642. if (ugrs.Cells["jf_stdmax"].Value.ToString() != "" && ugrs.Cells["val1"].Value.ToString() != "" && ugrs.Cells["jf_stdmax_sign"].Value.ToString() + ugrs.Cells["val1"].Value.ToString() != ugrs.Cells["jf_stdmax"].Value.ToString())
  643. {
  644. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  645. }
  646. }
  647. if (ugrs.Cells["jf_stdmin"].Value.ToString() != "" && ugrs.Cells["val2"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val2"].Value.ToString() + ugrs.Cells["jf_stdmin"].Value.ToString(), ""))
  648. {
  649. ugrs.Cells["val2"].Appearance.ForeColor = Color.Red;
  650. }
  651. if (ugrs.Cells["jf_stdmax"].Value.ToString() != "" && ugrs.Cells["val2"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val2"].Value.ToString() + ugrs.Cells["jf_stdmax"].Value.ToString(), ""))
  652. {
  653. ugrs.Cells["val2"].Appearance.ForeColor = Color.Red;
  654. }
  655. if (ugrs.Cells["jf_stdmin"].Value.ToString() != "" && ugrs.Cells["val3"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val3"].Value.ToString() + ugrs.Cells["jf_stdmin"].Value.ToString(), ""))
  656. {
  657. ugrs.Cells["val3"].Appearance.ForeColor = Color.Red;
  658. }
  659. if (ugrs.Cells["jf_stdmax"].Value.ToString() != "" && ugrs.Cells["val3"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val3"].Value.ToString() + ugrs.Cells["jf_stdmax"].Value.ToString(), ""))
  660. {
  661. ugrs.Cells["val3"].Appearance.ForeColor = Color.Red;
  662. }
  663. if (ugrs.Cells["nk_stdmin"].Value.ToString() != "" && ugrs.Cells["val1"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val1"].Value.ToString() + ugrs.Cells["nk_stdmin"].Value.ToString(), ""))
  664. {
  665. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  666. }
  667. if (ugrs.Cells["nk_stdmax"].Value.ToString() != "" && ugrs.Cells["val1"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val1"].Value.ToString() + ugrs.Cells["nk_stdmax"].Value.ToString(), ""))
  668. {
  669. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  670. }
  671. if (ugrs.Cells["nk_stdmin"].Value.ToString() != "" && ugrs.Cells["val2"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val2"].Value.ToString() + ugrs.Cells["nk_stdmin"].Value.ToString(), ""))
  672. {
  673. ugrs.Cells["val2"].Appearance.ForeColor = Color.Red;
  674. }
  675. if (ugrs.Cells["nk_stdmax"].Value.ToString() != "" && ugrs.Cells["val2"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val2"].Value.ToString() + ugrs.Cells["nk_stdmax"].Value.ToString(), ""))
  676. {
  677. ugrs.Cells["val2"].Appearance.ForeColor = Color.Red;
  678. }
  679. if (ugrs.Cells["nk_stdmin"].Value.ToString() != "" && ugrs.Cells["val3"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val3"].Value.ToString() + ugrs.Cells["nk_stdmin"].Value.ToString(), ""))
  680. {
  681. ugrs.Cells["val3"].Appearance.ForeColor = Color.Red;
  682. }
  683. if (ugrs.Cells["nk_stdmax"].Value.ToString() != "" && ugrs.Cells["val3"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val3"].Value.ToString() + ugrs.Cells["nk_stdmax"].Value.ToString(), ""))
  684. {
  685. ugrs.Cells["val3"].Appearance.ForeColor = Color.Red;
  686. }
  687. if (ugrs.Cells["kh_stdmin"].Value.ToString() != "" && ugrs.Cells["val1"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val1"].Value.ToString() + ugrs.Cells["kh_stdmin"].Value.ToString(), ""))
  688. {
  689. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  690. }
  691. if (ugrs.Cells["kh_stdmax"].Value.ToString() != "" && ugrs.Cells["val1"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val1"].Value.ToString() + ugrs.Cells["kh_stdmax"].Value.ToString(), ""))
  692. {
  693. ugrs.Cells["val1"].Appearance.ForeColor = Color.Red;
  694. }
  695. if (ugrs.Cells["kh_stdmin"].Value.ToString() != "" && ugrs.Cells["val2"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val2"].Value.ToString() + ugrs.Cells["kh_stdmin"].Value.ToString(), ""))
  696. {
  697. ugrs.Cells["val2"].Appearance.ForeColor = Color.Red;
  698. }
  699. if (ugrs.Cells["kh_stdmax"].Value.ToString() != "" && ugrs.Cells["val2"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val2"].Value.ToString() + ugrs.Cells["kh_stdmax"].Value.ToString(), ""))
  700. {
  701. ugrs.Cells["val2"].Appearance.ForeColor = Color.Red;
  702. }
  703. if (ugrs.Cells["kh_stdmin"].Value.ToString() != "" && ugrs.Cells["val3"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val3"].Value.ToString() + ugrs.Cells["kh_stdmin"].Value.ToString(), ""))
  704. {
  705. ugrs.Cells["val3"].Appearance.ForeColor = Color.Red;
  706. }
  707. if (ugrs.Cells["kh_stdmax"].Value.ToString() != "" && ugrs.Cells["val3"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["val3"].Value.ToString() + ugrs.Cells["kh_stdmax"].Value.ToString(), ""))
  708. {
  709. ugrs.Cells["val3"].Appearance.ForeColor = Color.Red;
  710. }
  711. }
  712. else if (ugrs.Cells["judge_basis"].Value.ToString() == "平均值")
  713. {
  714. DataTable dt = new DataTable();
  715. if (ugrs.Cells["jf_stdmin"].Value.ToString() != "" && ugrs.Cells["avg_val"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["avg_val"].Value.ToString() + ugrs.Cells["jf_stdmin"].Value.ToString(), ""))
  716. {
  717. ugrs.Cells["avg_val"].Appearance.ForeColor = Color.Red;
  718. }
  719. if (ugrs.Cells["jf_stdmax"].Value.ToString() != "" && ugrs.Cells["avg_val"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["avg_val"].Value.ToString() + ugrs.Cells["jf_stdmax"].Value.ToString(), ""))
  720. {
  721. ugrs.Cells["avg_val"].Appearance.ForeColor = Color.Red;
  722. }
  723. if (ugrs.Cells["kh_stdmin"].Value.ToString() != "" && ugrs.Cells["avg_val"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["avg_val"].Value.ToString() + ugrs.Cells["kh_stdmin"].Value.ToString(), ""))
  724. {
  725. ugrs.Cells["avg_val"].Appearance.ForeColor = Color.Red;
  726. }
  727. if (ugrs.Cells["kh_stdmax"].Value.ToString() != "" && ugrs.Cells["avg_val"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["avg_val"].Value.ToString() + ugrs.Cells["kh_stdmax"].Value.ToString(), ""))
  728. {
  729. ugrs.Cells["avg_val"].Appearance.ForeColor = Color.Red;
  730. }
  731. if (ugrs.Cells["nk_stdmin"].Value.ToString() != "" && ugrs.Cells["avg_val"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["avg_val"].Value.ToString() + ugrs.Cells["nk_stdmin"].Value.ToString(), ""))
  732. {
  733. ugrs.Cells["avg_val"].Appearance.ForeColor = Color.Red;
  734. }
  735. if (ugrs.Cells["nk_stdmax"].Value.ToString() != "" && ugrs.Cells["avg_val"].Value.ToString() != "" && !(bool)dt.Compute(ugrs.Cells["avg_val"].Value.ToString() + ugrs.Cells["nk_stdmax"].Value.ToString(), ""))
  736. {
  737. ugrs.Cells["avg_val"].Appearance.ForeColor = Color.Red;
  738. }
  739. }
  740. }
  741. }
  742. RefreshAndAutoSize(ultraGrid4);
  743. }
  744. catch (Exception ex)
  745. {
  746. //System.Diagnostics.Debug.WriteLine(ex.ToString());
  747. //MessageBox.Show("系统出错,请联系管理人员", "警告");
  748. }
  749. }
  750. private void QCM0302_Load(object sender, EventArgs e)
  751. {
  752. this.comboBox4.SelectedIndex = 1;
  753. ValueList vsflv = new ValueList();
  754. CoreClientParam ccp = new CoreClientParam();
  755. ccp = new CoreClientParam();
  756. ccp.ServerName = "QCM.QCM03.QCM0305.QcmJudgeSurfaceServiceImpl";
  757. ccp.MethodName = "findCretInstName";
  758. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  759. for (int i = 0; i < ccp.SourceDataTable.Rows.Count; i++)
  760. {
  761. vsflv.ValueListItems.Add(ccp.SourceDataTable.Rows[i]["CERT_INST_CODE"].ToString(), ccp.SourceDataTable.Rows[i]["CERT_INST_NAME"].ToString());
  762. }
  763. this.comboBox1.DataSource = vsflv.ValueListItems;
  764. this.comboBox2.SelectedIndex = 0;
  765. this.comboBox3.SelectedIndex = 0;
  766. this.ultraGrid1.DisplayLayout.Override.FilterUIType = FilterUIType.HeaderIcons;
  767. this.ultraGrid3.DisplayLayout.Override.FilterUIType = FilterUIType.HeaderIcons;
  768. this.dateTimePicker1.Value = System.DateTime.Now.AddDays(-7);
  769. this.DoQuery();
  770. }
  771. private void ultraTabControl1_Click(object sender, EventArgs e)
  772. {
  773. if (this.ultraTabControl1.Tabs[1].Selected) //判定记录
  774. {
  775. this.label8.Visible = false;
  776. this.comboBox2.Visible = false;
  777. this.comboBox4.SelectedIndex = 2;
  778. }
  779. if (this.ultraTabControl1.Tabs[0].Selected) //判定记录
  780. {
  781. this.label8.Visible = true;
  782. this.comboBox2.Visible = true;
  783. this.comboBox4.SelectedIndex = 1;
  784. }
  785. }
  786. public static void RefreshAndAutoSize(UltraGrid ultraGrid)
  787. {
  788. try
  789. {
  790. ultraGrid.BeginUpdate();
  791. foreach (UltraGridBand band in ultraGrid.DisplayLayout.Bands)
  792. {
  793. foreach (UltraGridColumn column in band.Columns)
  794. {
  795. if (column.Key != "defect_flag")
  796. {
  797. column.PerformAutoResize(PerformAutoSizeType.AllRowsInBand, band.ColHeadersVisible ? true : false);
  798. }
  799. }
  800. }
  801. }
  802. catch { }
  803. ultraGrid.EndUpdate();
  804. }
  805. private void DoExport()
  806. {
  807. try
  808. {
  809. if (this.ultraGrid3.Rows.Count == 0)
  810. {
  811. MessageBox.Show("没有可以导出的数据", "提示");
  812. return;
  813. }
  814. if (this.saveFileDialog1.ShowDialog(this) == DialogResult.OK)
  815. {
  816. string fName = this.saveFileDialog1.FileName;
  817. this.ultraGridExcelExporter1.Export(this.ultraGrid3, fName);
  818. Process.Start(fName);
  819. }
  820. }
  821. catch (Exception ex)
  822. {
  823. System.Diagnostics.Debug.WriteLine(ex.ToString());
  824. }
  825. }
  826. }
  827. }