华恒Mes鼎捷代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

567 lines
25 KiB

5 months ago
  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 DevExpress.XtraEditors;
  9. using System.Data.SqlClient;
  10. using ICSSoft.Frame.Data.BLL;
  11. using ICSSoft.Base.Language.Tool;
  12. using ICSSoft.Base.UserControl.MessageControl;
  13. using ICSSoft.Base.Report.Filter;
  14. using ICSSoft.Base.Config.DBHelper;
  15. using ICSSoft.Base.UserControl.FormControl;
  16. using ICSSoft.Base.ReferForm.AppReferForm;
  17. using ICSSoft.Base.Lable.PrintTool;
  18. using ICSSoft.Base.Config.AppConfig;
  19. using ICSSoft.Base.Report.GridReport;
  20. using ICSSoft.Frame.APP.Entity;
  21. using ICSSoft.Frame.APP;
  22. namespace ICSSoft.Frame.APP
  23. {
  24. public partial class FormICSEQPSTPAdd : DevExpress.XtraEditors.XtraForm
  25. {
  26. FormICSEQPSTPUIModelNew EQPSTPUIModel;
  27. int flag;
  28. string eqpstpid;
  29. public FormICSEQPSTPAdd()
  30. {
  31. InitializeComponent();
  32. init();
  33. chargeFormState("Add");
  34. flag = 0;
  35. eqpstpid = AppConfig.GetGuid();
  36. }
  37. public FormICSEQPSTPAdd(string id)
  38. {
  39. InitializeComponent();
  40. init();
  41. chargeFormState("Edit");
  42. SearchTypeInfo(id);
  43. flag = 1;
  44. eqpstpid = id;
  45. }
  46. private void chargeFormState(string state)
  47. {
  48. switch (state)
  49. {
  50. case "Add":
  51. txtMUSERName.Text = AppConfig.UserName;
  52. txtMTIME.Text = AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss").ToString();
  53. txtMUSERName.Properties.ReadOnly = true;
  54. txtMTIME.Properties.ReadOnly = true;
  55. break;
  56. case "Edit":
  57. //txtItemCode.Properties.Buttons[0].Visible = false;
  58. //txtItemCode.Enabled = false;
  59. gluItemCode.Properties.Buttons[0].Visible = false;
  60. gluItemCode.Enabled = false;
  61. txtOPCODE.Properties.Buttons[0].Visible = false;
  62. txtOPCODE.Enabled = false;
  63. txtEQPCODE.Properties.Buttons[0].Visible = false;
  64. txtEQPCODE.Enabled = false;
  65. txtEQPTypeCode.Properties.Buttons[0].Visible = false;
  66. txtEQPTypeCode.Enabled = false;
  67. txtMUSERName.Properties.ReadOnly = true;
  68. txtMTIME.Properties.ReadOnly = true;
  69. break;
  70. }
  71. }
  72. private void SearchTypeInfo(string id)
  73. {
  74. DataTable dt = ICSEQPSTPBLL.searchInfoByID(id, AppConfig.AppConnectString);
  75. if (dt != null && dt.Rows.Count > 0)
  76. {
  77. eqpstpid = dt.Rows[0]["ID"].ToString();
  78. //txtItemCode.Text = dt.Rows[0]["ITEMCODE"].ToString();
  79. gluItemCode.Text = dt.Rows[0]["ITEMCODE"].ToString();
  80. txtOPCODE.Text = dt.Rows[0]["OPCODE"].ToString();
  81. txtEQPCODE.Text = dt.Rows[0]["EQPCODE"].ToString();
  82. txtItemName.Text = dt.Rows[0]["ItemName"].ToString();
  83. txtOPDESC.Text = dt.Rows[0]["OPDESC"].ToString();
  84. //txtEQPDESC.Text = dt.Rows[0]["EQPName"].ToString();
  85. txtETTRCODE.Text = dt.Rows[0]["ETTRCOde"].ToString();
  86. if (!string.IsNullOrEmpty(dt.Rows[0]["STIME"].ToString()))
  87. {
  88. txtSTIME.Text = dt.Rows[0]["STIME"].ToString();
  89. }
  90. else
  91. {
  92. txtSTIME.Text = "0";
  93. }
  94. if (!string.IsNullOrEmpty(dt.Rows[0]["RTIME"].ToString()))
  95. {
  96. txtRTIME.Text = dt.Rows[0]["RTIME"].ToString();
  97. }
  98. else
  99. {
  100. txtRTIME.Text = "0";
  101. }
  102. txtisRef.Text = dt.Rows[0]["ISREF"].ToString();
  103. txtMUSERName.Text = AppConfig.UserName;
  104. txtMTIME.Text = AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss").ToString();
  105. txtEQPTypeCode.Text = dt.Rows[0]["EQPTypeCode"].ToString();
  106. txtEQPTypeName.Text = dt.Rows[0]["EQPTypeName"].ToString();
  107. txtBladeModelAndBrand.Text = dt.Rows[0]["BladeModelAndBrand"].ToString();
  108. txtOutsourcingProperties.Text = dt.Rows[0]["OutsourcingProperties"].ToString();
  109. txtToolingNo.Text = dt.Rows[0]["ToolingNo"].ToString();
  110. }
  111. }
  112. private string check()
  113. {
  114. string msg = "";
  115. Decimal decValue = 0m;
  116. //if (txtItemCode.Text.Trim() == "")
  117. // msg += "存货编码不能为空!\n";
  118. if (gluItemCode.Text.Trim() == "")
  119. msg += "存货编码不能为空!\n";
  120. if (txtOPCODE.Text.Trim() == "")
  121. msg += "工序代码不能为空!\n";
  122. if (txtEQPTypeCode.Text.Trim() == "")
  123. msg += "工作中心不能为空!\n";
  124. if (txtSTIME.Text.Trim() == "")
  125. msg += "标准工时不能为空!\n";
  126. else
  127. {
  128. if (!Decimal.TryParse(txtSTIME.Text.Trim(), out decValue))
  129. {
  130. msg += "标准工时格式不正确!\n";
  131. }
  132. }
  133. if (txtRTIME.Text.Trim() == "")
  134. msg += "准备工时不能为空!\n";
  135. else
  136. {
  137. if (!Decimal.TryParse(txtRTIME.Text.Trim(), out decValue))
  138. {
  139. msg += "准备工时格式不正确!\n";
  140. }
  141. }
  142. if (flag == 0)
  143. {
  144. //if (!ICSEQPSTPBLL.IsIncluding(txtItemCode.Text.Trim(), txtOPCODE.Text.Trim(), txtEQPCODE.Text.Trim(), AppConfig.AppConnectString))
  145. if (!ICSEQPSTPBLL.IsIncluding(gluItemCode.Text.Trim(), txtOPCODE.Text.Trim(), txtEQPTypeCode.Text.Trim(), AppConfig.AppConnectString))
  146. msg += "该产品工序工作中心内对应的标准工时信息已存在!\n";
  147. }
  148. if (txtisRef.Text=="")
  149. {
  150. msg += "请选择是否为默认标准工时!\n";
  151. }
  152. return msg;
  153. }
  154. private void btnOK_Click(object sender, EventArgs e)
  155. {
  156. try
  157. {
  158. string msg = check();
  159. if (!string.IsNullOrEmpty(msg))
  160. {
  161. ICSBaseSimpleCode.AppshowMessageBox(msg);
  162. return;
  163. }
  164. FormICSEQPSTPUIModelNew eqpstp = new FormICSEQPSTPUIModelNew();
  165. eqpstp.ID = eqpstpid;
  166. //eqpstp.ITEMCODE = txtItemCode.Text;
  167. eqpstp.ITEMCODE = gluItemCode.Text;
  168. eqpstp.OPCODE = txtOPCODE.Text;
  169. eqpstp.EQPCODE = txtEQPCODE.Text;
  170. eqpstp.ETTRCODE = txtETTRCODE.Text;
  171. eqpstp.ISREF = txtisRef.Text;
  172. eqpstp.STIME =Convert.ToDecimal(txtSTIME.Text.Equals("")? "0":txtSTIME.Text);
  173. eqpstp.MUSER = AppConfig.UserId;
  174. eqpstp.MUSERName = AppConfig.UserName;
  175. eqpstp.MTIME = DateTime.Now;
  176. eqpstp.RTIME = Convert.ToDecimal(txtRTIME.Text.Equals("") ? "0" : txtRTIME.Text);
  177. eqpstp.WorkPoint = AppConfig.WorkPointCode;
  178. eqpstp.EATTRIBUTE1 = "" ;
  179. eqpstp.EQPTypeCode = txtEQPTypeCode.Text;
  180. //20180626新增
  181. eqpstp.BladeModelAndBrand = this.txtBladeModelAndBrand.Text.Trim();
  182. eqpstp.OutsourcingProperties = this.txtOutsourcingProperties.Text.Trim();
  183. eqpstp.ToolingNo = this.txtToolingNo.Text.Trim();
  184. ICSEQPSTPBLL.Add(eqpstp, AppConfig.AppConnectString);
  185. //this.Close();
  186. //this.DialogResult = DialogResult.Yes;
  187. if (flag == 0)
  188. {
  189. ICSBaseSimpleCode.AppshowMessageBox("增加成功");
  190. this.Close();
  191. this.DialogResult = DialogResult.Yes;
  192. }
  193. else if (flag == 1)
  194. {
  195. ICSBaseSimpleCode.AppshowMessageBox("修改成功");
  196. this.Close();
  197. this.DialogResult = DialogResult.Yes;
  198. }
  199. }
  200. catch (Exception ex) {
  201. MessageBox.Show(ex.Message);
  202. }
  203. }
  204. #region 关闭
  205. private void btnCancle_Click(object sender, EventArgs e)
  206. {
  207. this.Close();
  208. //this.DialogResult = DialogResult.Cancel;
  209. }
  210. private void btnClose_Click(object sender, EventArgs e)
  211. {
  212. this.Close();
  213. //this.DialogResult = DialogResult.Cancel;
  214. }
  215. #endregion
  216. #region 存货编码按钮
  217. private void txtItemCode_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
  218. {
  219. ButtonEdit btn = (ButtonEdit)sender;
  220. string sql = "select distinct guid as [产品ID],ItemCode as [存货编码],ItemName as [存货名称] from dbo.Base_Inventory with(nolock) WHERE 1=1";
  221. //object obj = AppConfig.InvokeWebservice(AppConfig.BaseServiceUri, "WebBaseService", "BaseService", "GetHuaRongErpConnectString", new object[] { });
  222. //if (obj == null)
  223. //{
  224. // ICSBaseSimpleCode.AppshowMessageBox(1, "ERP数据库连接取得失败!");
  225. //}
  226. DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  227. FormDataRefer reForm = new FormDataRefer();
  228. reForm.FormTitle = "产品信息";
  229. DataTable menuData = data;
  230. reForm.DataSource = menuData;
  231. reForm.MSelectFlag = false;
  232. reForm.RowIndexWidth = 35;
  233. reForm.HideCols.Add("产品ID");
  234. reForm.FormWidth = 500;
  235. reForm.FormHeight = 500;
  236. //reForm.FilterKey = btn.Text;
  237. //grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, grvDetail.FocusedColumn).ToString().Trim();
  238. if (reForm.ShowDialog() == DialogResult.OK)
  239. {
  240. DataTable retData = reForm.ReturnData;
  241. foreach (DataRow dr in retData.Rows)
  242. {
  243. txtItemCode.Text = dr["存货编码"].ToString();
  244. //itemid = dr["产品ID"].ToString();
  245. txtItemName.Text = dr["存货名称"].ToString();
  246. }
  247. }
  248. }
  249. #endregion
  250. #region 工序代码按钮
  251. private void txtOPCODE_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
  252. {
  253. ButtonEdit btn = (ButtonEdit)sender;
  254. string sql = "";
  255. sql = @"select distinct a.OPID as [工序ID],
  256. a.OPCODE as [],
  257. b.OPDESC as []
  258. from ICSITEMROUTE2OP a
  259. left join ICSOP b on a.OPCODE=b.OPCODE
  260. where a.ITEMCODE='" + gluItemCode.Text + "' and 1=1";
  261. //where a.ITEMCODE='" + txtItemCode.Text + "' and 1=1";
  262. DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  263. // if (data == null || data.Rows.Count == 0)
  264. // {
  265. // sql = @"select distinct a.OPID as [工序ID],
  266. // a.OPCODE as [工序代码],
  267. // c.OPDESC as [工序]
  268. // from ICSMODELROUTE2OP a
  269. // left join Base_Inventory b on a.MODELCODE=b.ItemMainCategoryCode
  270. // left join ICSOP c on a.OPCODE=c.OPCODE
  271. //where b.ITEMCODE='" + gluItemCode.Text + "' and 1=1";
  272. ////where b.ITEMCODE='" + txtItemCode.Text + "' and 1=1";
  273. // //object obj = AppConfig.InvokeWebservice(AppConfig.BaseServiceUri, "WebBaseService", "BaseService", "GetHuaRongErpConnectString", new object[] { });
  274. // //if (obj == null)
  275. // //{
  276. // // ICSBaseSimpleCode.AppshowMessageBox(1, "ERP数据库连接取得失败!");
  277. // //}
  278. // data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  279. // }
  280. FormDataRefer reForm = new FormDataRefer();
  281. reForm.FormTitle = "工序信息";
  282. DataTable menuData = data;
  283. reForm.DataSource = menuData;
  284. reForm.MSelectFlag = false;
  285. reForm.RowIndexWidth = 35;
  286. reForm.HideCols.Add("工序ID");
  287. reForm.FormWidth = 500;
  288. reForm.FormHeight = 500;
  289. //reForm.FilterKey = btn.Text;
  290. //grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, grvDetail.FocusedColumn).ToString().Trim();
  291. if (reForm.ShowDialog() == DialogResult.OK)
  292. {
  293. DataTable retData = reForm.ReturnData;
  294. foreach (DataRow dr in retData.Rows)
  295. {
  296. txtOPCODE.Text = dr["工序代码"].ToString();
  297. //opid = dr["工序ID"].ToString();
  298. txtOPDESC.Text = dr["工序"].ToString();
  299. }
  300. }
  301. }
  302. #endregion
  303. #region 设备编号按钮
  304. private void txtEQPCODE_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
  305. {
  306. ButtonEdit btn = (ButtonEdit)sender;
  307. string sql = @"select distinct EQPID as [设备ID], EQPCode as [设备编号],EQPName as [设备名称] from dbo.ICSEquipment
  308. where EType='"+txtEQPTypeName.Text+"'";
  309. DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  310. FormDataRefer reForm = new FormDataRefer();
  311. reForm.FormTitle = "设备信息";
  312. DataTable menuData = data;
  313. reForm.DataSource = menuData;
  314. reForm.MSelectFlag = false;
  315. reForm.RowIndexWidth = 35;
  316. reForm.HideCols.Add("设备ID");
  317. reForm.FormWidth = 500;
  318. reForm.FormHeight = 500;
  319. //reForm.FilterKey = btn.Text;
  320. //grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, grvDetail.FocusedColumn).ToString().Trim();
  321. if (reForm.ShowDialog() == DialogResult.OK)
  322. {
  323. DataTable retData = reForm.ReturnData;
  324. foreach (DataRow dr in retData.Rows)
  325. {
  326. txtEQPCODE.Text = dr["设备编号"].ToString();
  327. //opid = dr["设备ID"].ToString();
  328. txtEQPDESC.Text = dr["设备名称"].ToString();
  329. }
  330. }
  331. }
  332. #endregion
  333. private void gluItemCode_EditValueChanged(object sender, EventArgs e)
  334. {
  335. var o = gluItemCode.Properties.GetRowByKeyValue(gluItemCode.EditValue);
  336. if (o is DataRowView)
  337. {
  338. DataRowView RowView = o as DataRowView;
  339. txtItemName.Text = RowView.Row["存货名称"].ToString();
  340. }
  341. init3();
  342. }
  343. private void init3()
  344. {
  345. #region 工序代码
  346. string sql2 = @"select distinct
  347. a.OPCODE as [],
  348. b.OPDESC as []
  349. from ICSITEMROUTE2OP a
  350. left join ICSOP b on a.OPCODE=b.OPCODE
  351. where a.ITEMCODE='" + gluItemCode.Text + "' and 1=1";
  352. DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql2).Tables[0];
  353. if (data == null || data.Rows.Count == 0)
  354. {
  355. sql2 = @"select distinct
  356. a.OPCODE as [],
  357. c.OPDESC as []
  358. from ICSITEMROUTE2OP a
  359. left join ICSINVENTORY b on a.ITEMCODE=b.INVCODE
  360. left join ICSOP c on a.OPCODE=c.OPCODE
  361. where b.INVCODE='" + gluItemCode.Text + "' and 1=1";
  362. data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql2).Tables[0];
  363. }
  364. txtOPCODE.Properties.ValueMember = "工序代码";
  365. txtOPCODE.Properties.DisplayMember = "工序代码";
  366. txtOPCODE.Properties.DataSource = data;
  367. txtOPCODE.Properties.NullText = "";//空时的值
  368. txtOPCODE.Properties.ImmediatePopup = true;//输入值是否马上弹出窗体
  369. txtOPCODE.Properties.ValidateOnEnterKey = true;//回车确认
  370. txtOPCODE.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//要使用户可以输入,这里须设为Standard
  371. txtOPCODE.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; //可用Ctrl + Delete清空选择內容
  372. //自适应宽度
  373. txtOPCODE.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
  374. #endregion
  375. }
  376. #region 初始化查询条件
  377. private void init()
  378. {
  379. #region 存货编码
  380. string sql = "SELECT DISTINCT INVCODE AS [存货编码],INVNAME AS [存货名称] FROM ICSINVENTORY ORDER BY INVCODE";
  381. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  382. gluItemCode.Properties.ValueMember = "存货编码";
  383. gluItemCode.Properties.DisplayMember = "存货编码";
  384. gluItemCode.Properties.DataSource = dt;
  385. gluItemCode.Properties.NullText = "";//空时的值
  386. gluItemCode.Properties.ImmediatePopup = true;//输入值是否马上弹出窗体
  387. gluItemCode.Properties.ValidateOnEnterKey = true;//回车确认
  388. gluItemCode.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//要使用户可以输入,这里须设为Standard
  389. gluItemCode.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; //可用Ctrl + Delete清空选择內容
  390. //自适应宽度
  391. gluItemCode.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
  392. #endregion
  393. #region 工序代码
  394. string sql2 = "SELECT DISTINCT null AS [工序代码],null as [工序] ";
  395. DataTable dt2 = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql2).Tables[0];
  396. txtOPCODE.Properties.ValueMember = "工序代码";
  397. txtOPCODE.Properties.DisplayMember = "工序代码";
  398. txtOPCODE.Properties.DataSource = dt2;
  399. txtOPCODE.Properties.NullText = "";//空时的值
  400. txtOPCODE.Properties.ImmediatePopup = true;//输入值是否马上弹出窗体
  401. txtOPCODE.Properties.ValidateOnEnterKey = true;//回车确认
  402. txtOPCODE.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//要使用户可以输入,这里须设为Standard
  403. txtOPCODE.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; //可用Ctrl + Delete清空选择內容
  404. //自适应宽度
  405. txtOPCODE.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
  406. #endregion
  407. #region 设备类型代码
  408. //string sql1 = "select distinct EnumValue as [类型编码],EnumText as [设备类型] from dbo.Sys_EnumValues with(nolock) WHERE EnumKey='001' and 1=1";
  409. string sql1 = "SELECT TypeCODE as [工作中心编码],TypeDESC as [工作中心] FROM ICSEquipmentType WHERE WorkPoint = '6000' and 1=1 ";
  410. DataTable dt1 = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql1).Tables[0];
  411. //txtEQPTypeCode.Properties.ValueMember = "类型编码";
  412. //txtEQPTypeCode.Properties.DisplayMember = "类型编码";
  413. txtEQPTypeCode.Properties.ValueMember = "工作中心编码";
  414. txtEQPTypeCode.Properties.DisplayMember = "工作中心编码";
  415. txtEQPTypeCode.Properties.DataSource = dt1;
  416. txtEQPTypeCode.Properties.NullText = "";//空时的值
  417. txtEQPTypeCode.Properties.ImmediatePopup = true;//输入值是否马上弹出窗体
  418. txtEQPTypeCode.Properties.ValidateOnEnterKey = true;//回车确认
  419. txtEQPTypeCode.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//要使用户可以输入,这里须设为Standard
  420. txtEQPTypeCode.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; //可用Ctrl + Delete清空选择內容
  421. //自适应宽度
  422. txtEQPTypeCode.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
  423. #endregion
  424. }
  425. #endregion
  426. //设备类型按钮
  427. private void txtEQPType_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
  428. {
  429. ButtonEdit btn = (ButtonEdit)sender;
  430. string sql = "select distinct EnumValue as [类型编码],EnumText as [设备类型] from dbo.Sys_EnumValues with(nolock) WHERE EnumKey='001' and 1=1";
  431. //object obj = AppConfig.InvokeWebservice(AppConfig.BaseServiceUri, "WebBaseService", "BaseService", "GetHuaRongErpConnectString", new object[] { });
  432. //if (obj == null)
  433. //{
  434. // ICSBaseSimpleCode.AppshowMessageBox(1, "ERP数据库连接取得失败!");
  435. //}
  436. DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  437. FormDataRefer reForm = new FormDataRefer();
  438. reForm.FormTitle = "设备类型信息";
  439. DataTable menuData = data;
  440. reForm.DataSource = menuData;
  441. reForm.MSelectFlag = false;
  442. reForm.RowIndexWidth = 35;
  443. reForm.HideCols.Add("ID");
  444. reForm.FormWidth = 500;
  445. reForm.FormHeight = 500;
  446. //reForm.FilterKey = btn.Text;
  447. //grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, grvDetail.FocusedColumn).ToString().Trim();
  448. if (reForm.ShowDialog() == DialogResult.OK)
  449. {
  450. DataTable retData = reForm.ReturnData;
  451. foreach (DataRow dr in retData.Rows)
  452. {
  453. txtEQPTypeCode.Text = dr["类型编码"].ToString();
  454. txtEQPTypeName.Text = dr["设备类型"].ToString();
  455. }
  456. }
  457. }
  458. private void txtEQPTypeCode_EditValueChanged(object sender, EventArgs e)
  459. {
  460. var o = txtEQPTypeCode.Properties.GetRowByKeyValue(txtEQPTypeCode.EditValue);
  461. if (o is DataRowView)
  462. {
  463. DataRowView RowView = o as DataRowView;
  464. //txtEQPTypeName.Text = RowView.Row["设备类型"].ToString();
  465. txtEQPTypeName.Text = RowView.Row["工作中心"].ToString();
  466. txtEQPTypeCode.Text = RowView.Row["工作中心编码"].ToString();
  467. }
  468. init2();
  469. }
  470. private void init2()
  471. {
  472. #region 设备编号
  473. string sql2 = @"select distinct EQPCode as [设备编号],EQPName as [设备名称] from dbo.ICSEquipment
  474. where EType='"+txtEQPTypeName.Text+"'";
  475. DataTable dt2 = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql2).Tables[0];
  476. txtEQPCODE.Properties.ValueMember = "设备编号";
  477. txtEQPCODE.Properties.DisplayMember = "设备编号";
  478. txtEQPCODE.Properties.DataSource = dt2;
  479. txtEQPCODE.Properties.NullText = "";//空时的值
  480. txtEQPCODE.Properties.ImmediatePopup = true;//输入值是否马上弹出窗体
  481. txtEQPCODE.Properties.ValidateOnEnterKey = true;//回车确认
  482. txtEQPCODE.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//要使用户可以输入,这里须设为Standard
  483. txtEQPCODE.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; //可用Ctrl + Delete清空选择內容
  484. //自适应宽度
  485. txtEQPCODE.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
  486. #endregion
  487. }
  488. private void txtEQPCODE_EditValueChanged(object sender, EventArgs e)
  489. {
  490. var o = txtEQPCODE.Properties.GetRowByKeyValue(txtEQPCODE.EditValue);
  491. if (o is DataRowView)
  492. {
  493. DataRowView RowView = o as DataRowView;
  494. txtEQPDESC.Text = RowView.Row["设备名称"].ToString();
  495. }
  496. }
  497. private void txtOPCODE_EditValueChanged(object sender, EventArgs e)
  498. {
  499. var o = txtOPCODE.Properties.GetRowByKeyValue(txtOPCODE.EditValue);
  500. if (o is DataRowView)
  501. {
  502. DataRowView RowView = o as DataRowView;
  503. txtOPCODE.Text = RowView.Row["工序代码"].ToString();
  504. txtOPDESC.Text = RowView.Row["工序"].ToString();
  505. }
  506. }
  507. }
  508. }