frmHLStandard.cs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using Core.Mes.Client.Common;
  9. using Infragistics.Win.UltraWinGrid;
  10. using System.Collections;
  11. using CoreFS.CA06;
  12. using System.Diagnostics;
  13. using System.IO;
  14. namespace Core.LgMes.Client.lgIntegrationQuery
  15. {
  16. public partial class frmHLStandard : Core.Mes.Client.Common.frmStyleBase
  17. {
  18. string strMess = "";
  19. string username = "";
  20. DataSet ds = new DataSet();
  21. DataSet dsSteel = new DataSet();
  22. public frmHLStandard()
  23. {
  24. InitializeComponent();
  25. }
  26. private void frmHLStandard_Load(object sender, EventArgs e)
  27. {
  28. InitSteel();
  29. }
  30. public override void ToolBar_Click(object sender, string ToolbarKey)
  31. {
  32. switch (ToolbarKey)
  33. {
  34. case "Query":
  35. GetDataSource();
  36. break;
  37. case "Add":
  38. Add(urGridLTemp);
  39. strMess = "钢种恒拉范围标准保存成功!";
  40. //MessageBox.Show(strMess);
  41. break;
  42. case "Update":
  43. UpdateGrid();
  44. break;
  45. case "Delete":
  46. username = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID().Trim();
  47. if ("X01177".Equals(username))
  48. {
  49. DeleteGrid();
  50. }
  51. else
  52. {
  53. strMess = "您的权限不足!\r\n请联系技术科!";
  54. MessageBox.Show(strMess);
  55. }
  56. break;
  57. case "Save":
  58. username = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID().Trim();
  59. if ("X01177".Equals(username))
  60. {
  61. urGridLTemp.UpdateData();
  62. SaveData();
  63. }
  64. else
  65. {
  66. strMess = "您的权限不足!\r\n请联系技术科!";
  67. MessageBox.Show(strMess);
  68. }
  69. break;
  70. case "Export":
  71. if (urGridLTemp.Rows.Count > 0) ExportDataWithSaveDialog(ref this.urGridLTemp, "钢种恒拉范围标准");
  72. break;
  73. case "Rollback"://cancel
  74. JJBStaticFunction.dataCancel(urGridLTemp, dataTable1);
  75. break;
  76. case "Exit":
  77. this.Close();
  78. break;
  79. default:
  80. break;
  81. }
  82. }
  83. private void GetDataSource()
  84. {
  85. string strErr = "";
  86. string strSteel = "";
  87. string _strWhere2 = "";
  88. if (chkSteel.Checked && ultcboSteel.SelectedIndex > -1)
  89. {
  90. strSteel = Convert.ToString(ultcboSteel.Text);
  91. _strWhere2 = String.Format(" where t.steelname = '{0}'", strSteel);
  92. }
  93. else
  94. {
  95. _strWhere2 = "";
  96. }
  97. ArrayList arry = new ArrayList();
  98. ArrayList sqlList = new ArrayList();
  99. arry.Add("frmHLStandard.select");
  100. sqlList.Add(_strWhere2);
  101. //调用服务端方法
  102. CoreClientParam CCP_LgEts = new CoreClientParam();
  103. DataTable dt = new DataTable();
  104. CCP_LgEts.ServerName = "Core.LgMes.Server.Common.ComDBQuery";
  105. CCP_LgEts.MethodName = "doQuery";
  106. CCP_LgEts.ServerParams = new object[] { arry, sqlList };
  107. CCP_LgEts.SourceDataTable = dt;
  108. this.ExecuteQueryToDataTable(CCP_LgEts, CoreInvokeType.Internal);
  109. ds.Tables.Add(dt);
  110. dsSTemp.Clear();
  111. this.dataTable1.Rows.Clear();
  112. if (strErr == "" && ds != null)
  113. {
  114. DataRow dr;
  115. for (int iRow = 0; iRow < dt.Rows.Count; iRow++)
  116. {
  117. dr = this.dataTable1.NewRow();
  118. for (int jCol = 0; jCol < dt.Columns.Count; jCol++)
  119. {
  120. try
  121. {
  122. if (this.dataTable1.Columns.Contains(dt.Columns[jCol].ColumnName))
  123. {
  124. dr[dt.Columns[jCol].ColumnName] = Convert.ToString(dt.Rows[iRow][jCol]);
  125. }
  126. }
  127. catch { }
  128. }
  129. this.dataTable1.Rows.Add(dr);
  130. }
  131. urGridLTemp.UpdateData();
  132. dataTable1.AcceptChanges();
  133. }
  134. JJBStaticFunction.SetRowEdit(urGridLTemp);//Grid可编辑性
  135. }
  136. /// <summary>
  137. /// 更新数据
  138. /// </summary>
  139. private void UpdateGrid()
  140. {
  141. JJBStaticFunction.Update(urGridLTemp);
  142. strMess = "钢种恒拉范围标准修改成功!";
  143. if (urGridLTemp.ActiveRow != null)
  144. {
  145. for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
  146. {
  147. if (ds.Tables[0].Columns[i].ColumnName == "STEELNAME")
  148. {
  149. urGridLTemp.ActiveRow.Cells["STEELNAME"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  150. }
  151. else
  152. {
  153. urGridLTemp.ActiveRow.Cells[ds.Tables[0].Columns[i].ColumnName].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  154. }
  155. }
  156. }
  157. else
  158. MessageBox.Show("请选择需要修改的数据行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  159. }
  160. private void DeleteGrid()
  161. {
  162. if (urGridLTemp.ActiveRow != null)
  163. {
  164. string strMCode = urGridLTemp.ActiveRow.Cells["STEELNAME"].Text.Trim();
  165. JJBStaticFunction.Delete(urGridLTemp);
  166. DelData(strMCode);
  167. }
  168. else
  169. MessageBox.Show("请选择需要删除的数据行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  170. }
  171. /// <summary>
  172. /// 删除钢种恒拉范围标准标准
  173. /// </summary>
  174. private void DelData(string strMCode)
  175. {
  176. string strErr = "";
  177. if (dataTable1.GetChanges() != null)
  178. {
  179. ArrayList arry = new ArrayList();
  180. arry.Add("frmHLStandard_Del.select");
  181. arry.Add(strMCode);
  182. CommonClientToServer cctos = new CommonClientToServer();
  183. cctos.ob = this.ob;
  184. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBSave",
  185. "doSimpleSave", arry, out strErr);
  186. if (strErr != "" && ds != null)
  187. {
  188. MessageBox.Show(strErr);
  189. }
  190. else
  191. {
  192. MessageBox.Show("钢种恒拉范围标准删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  193. }
  194. }
  195. }
  196. /// <summary>
  197. /// 新增数据
  198. /// </summary>
  199. /// <param name="Grid"></param>
  200. public static void Add(Infragistics.Win.UltraWinGrid.UltraGridBase Grid)
  201. {
  202. Grid.UpdateData();
  203. UltraGridRow ur = Grid.DisplayLayout.Bands[0].AddNew();
  204. ur.Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  205. }
  206. /// <summary>
  207. /// 保存钢种恒拉范围标准
  208. /// </summary>
  209. private void SaveData()
  210. {
  211. try
  212. {
  213. urGridLTemp.UpdateData();
  214. if (dataTable1.Rows.Count > 0)
  215. {
  216. string strErr = "";
  217. ArrayList arry = new ArrayList();
  218. string STEELNAME = urGridLTemp.ActiveRow.Cells["STEELNAME"].Text;
  219. string L1_230 = urGridLTemp.ActiveRow.Cells["L1_230"].Text;
  220. string L2_230 = urGridLTemp.ActiveRow.Cells["L2_230"].Text;
  221. string L3_230 = urGridLTemp.ActiveRow.Cells["L3_230"].Text;
  222. string L4_230 = urGridLTemp.ActiveRow.Cells["L4_230"].Text;
  223. string L5_230 = urGridLTemp.ActiveRow.Cells["L5_230"].Text;
  224. string L6_230 = urGridLTemp.ActiveRow.Cells["L6_230"].Text;
  225. string L1_300 = urGridLTemp.ActiveRow.Cells["L1_300"].Text;
  226. string L2_300 = urGridLTemp.ActiveRow.Cells["L2_300"].Text;
  227. string L3_300 = urGridLTemp.ActiveRow.Cells["L3_300"].Text;
  228. string L4_300 = urGridLTemp.ActiveRow.Cells["L4_300"].Text;
  229. string L1_360 = urGridLTemp.ActiveRow.Cells["L1_360"].Text;
  230. string L2_360 = urGridLTemp.ActiveRow.Cells["L2_360"].Text;
  231. string L3_360 = urGridLTemp.ActiveRow.Cells["L3_360"].Text;
  232. string L4_360 = urGridLTemp.ActiveRow.Cells["L4_360"].Text;
  233. string L1_420 = urGridLTemp.ActiveRow.Cells["L1_420"].Text;
  234. string L2_420 = urGridLTemp.ActiveRow.Cells["L2_420"].Text;
  235. string L3_420 = urGridLTemp.ActiveRow.Cells["L3_420"].Text;
  236. string L4_420 = urGridLTemp.ActiveRow.Cells["L4_420"].Text;
  237. if (strMess == "钢种恒拉范围标准保存成功!")
  238. {
  239. arry.Add("frmHLStandard_Save.select");
  240. arry.Add(STEELNAME);
  241. }
  242. if (strMess == "钢种恒拉范围标准修改成功!")
  243. {
  244. arry.Add("frmHLStandard_Update.select");
  245. }
  246. arry.Add(L1_230);
  247. arry.Add(L2_230);
  248. arry.Add(L3_230);
  249. arry.Add(L4_230);
  250. arry.Add(L5_230);
  251. arry.Add(L6_230);
  252. arry.Add(L1_300);
  253. arry.Add(L2_300);
  254. arry.Add(L3_300);
  255. arry.Add(L4_300);
  256. arry.Add(L1_360);
  257. arry.Add(L2_360);
  258. arry.Add(L3_360);
  259. arry.Add(L4_360);
  260. arry.Add(L1_420);
  261. arry.Add(L2_420);
  262. arry.Add(L3_420);
  263. arry.Add(L4_420);
  264. if (strMess == "钢种恒拉范围标准修改成功!")
  265. {
  266. arry.Add(STEELNAME);
  267. }
  268. CommonClientToServer cctos = new CommonClientToServer();
  269. cctos.ob = this.ob;
  270. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBSave",
  271. "doSimpleSave", arry, out strErr);
  272. if (strErr == "" && ds != null)
  273. {
  274. dataTable1.AcceptChanges();
  275. JJBStaticFunction.SetRowEdit(urGridLTemp);
  276. if (!string.IsNullOrEmpty(strMess))
  277. MessageBox.Show(strMess, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  278. }
  279. else
  280. {
  281. MessageBox.Show("保存失败!输入信息已经存在或数据无效。", "错误");
  282. }
  283. if (urGridLTemp.ActiveCell != null)
  284. urGridLTemp.ActiveCell.Activated = false;
  285. }
  286. }
  287. catch (System.Exception ex)
  288. {
  289. Console.WriteLine(ex.ToString());
  290. }
  291. }
  292. private void InitSteel()
  293. {
  294. try
  295. {
  296. string strErr = "";
  297. //获取钢种
  298. ArrayList arrySteel = new ArrayList();
  299. arrySteel.Add("GetSteelInfo.select");
  300. CommonClientToServer cctos = new CommonClientToServer();
  301. cctos.ob = this.ob;
  302. dsSteel = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  303. "doSimpleQuery", arrySteel, out strErr);
  304. if (strErr == "" && dsSteel != null)
  305. {
  306. Core.Mes.Client.Common.Globals.FillUltraComboItems(ultcboSteel, dsSteel);
  307. }
  308. }
  309. catch { }
  310. }
  311. private void chkSteel_CheckedChanged(object sender, EventArgs e)
  312. {
  313. ultcboSteel.Enabled = chkSteel.Checked;
  314. if (chkSteel.Checked == true)
  315. {
  316. InitSteel();
  317. }
  318. }
  319. public void ExportDataWithSaveDialog(ref UltraGrid ultGrid, string strFileName)
  320. {
  321. try
  322. {
  323. if (ultGrid.Rows.Count == 0) return;
  324. if (strFileName.Length == 0)
  325. strFileName = "未命名";
  326. SaveFileDialog dlg = new SaveFileDialog();
  327. dlg.Title = "保存";
  328. dlg.OverwritePrompt = true;
  329. dlg.Filter = "Excel文件(*.xls)|*.xls";
  330. dlg.AddExtension = true;
  331. dlg.FileName = strFileName;
  332. if (dlg.ShowDialog() == DialogResult.OK)
  333. {
  334. strFileName = dlg.FileName;
  335. ultraGridExcelExporter1.Export(ultGrid, strFileName);
  336. if (MessageBox.Show("数据导出成功!\r\n需要打开所导出文件吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  337. {
  338. ultraGridExcelExporter1.Export(ultGrid, strFileName);
  339. ProcessStartInfo p = new ProcessStartInfo(strFileName);
  340. p.WorkingDirectory = Path.GetDirectoryName(strFileName);
  341. Process.Start(p);
  342. }
  343. }
  344. }
  345. catch (Exception ex)
  346. {
  347. MessageBox.Show(ex.Message);
  348. }
  349. }
  350. }
  351. }