frmAlloyHitStandard.cs 13 KB

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