在做材料申请统计界面,会使用到双击数据行跳转详细信息页面。主要思路是主页面写一个双击方法,再点击页面数据行的时候获取对应的行的数据并存到EF组件的对象中,这样在跳转子页面的时候就可以通过EF组件来获取传来的值进行详细信息的查询。
private void efDevGrid1_DoubleClick(object sender, EventArgs e) { double testNum = 0; if (Double.TryParse(this.gridView1.FocusedValue.ToString(), out testNum)) { if (this.gridView1.FocusedColumn.Caption == "850") { EF.EF_Args.common_parameter_1 = "0"; } else { if (efDevLookUpEditstep_width.Text.ToString().Trim() == "50") EF.EF_Args.common_parameter_1 = Convert.ToString(Convert.ToInt32(this.gridView1.FocusedColumn.Caption) - 50); else if (efDevLookUpEditstep_width.Text.ToString().Trim() == "10") EF.EF_Args.common_parameter_1 = Convert.ToString(Convert.ToInt32(this.gridView1.FocusedColumn.Caption) - 10); } EF.EF_Args.common_parameter_2 = this.gridView1.FocusedColumn.Caption; EF.EF_Args.common_parameter_3 = this.gridView1.GetFocusedDataRow()["ST_NO"].ToString();//获取对应行的钢种号 EF.EF_Args.common_parameter_4 = this.txtType.Text.ToString();//获取前台输入的信息 EF.EF_Args.common_parameter_5 = this.txtStatFrom.Text.ToString(); EF.EF_Args.common_parameter_6 = this.txtStatTo.Text.ToString(); EF.EF_Args.common_parameter_7 = (string)this.txtBacklog01.EditValue ?? ""; EF.EF_Args.common_parameter_8 = (string)this.txtBacklog04.EditValue ?? ""; EF.EF_Args.common_parameter_9 = this.efDevDateEditdelivery_date_in_f.Text.ToString().Trim() == "" ? "" : Convert.ToDateTime(this.efDevDateEditdelivery_date_in_f.Text.ToString().Trim()).ToString("yyyyMMdd"); EF.EF_Args.common_parameter_10 = this.efDevDateEditdelivery_date_in_t.Text.ToString().Trim() == "" ? "" : Convert.ToDateTime(this.efDevDateEditdelivery_date_in_t.Text.ToString().Trim()).ToString("yyyyMMdd"); EF.EF_Args.common_parameter_11 = this.efDevDateEditdelivery_month.Text.ToString().Trim() == "" ? "" : Convert.ToDateTime(this.efDevDateEditdelivery_month.DateTime.ToString().Trim()).ToString("yyyyMM"); EF.EF_Args.common_object_1 = this.backlog_pos; EF.EF_Args.common_object_2 = this.backlog_val; this.EFCallForm("PMOMMAHR10");//跳转页面 } else { EF.EF_Args.common_parameter_1 = "0"; EF.EF_Args.common_parameter_2 = "9999"; EF.EF_Args.common_parameter_3 = this.gridView1.GetFocusedDataRow()["ST_NO"].ToString(); EF.EF_Args.common_parameter_4 = this.txtType.Text.ToString(); EF.EF_Args.common_parameter_5 = this.txtStatFrom.Text.ToString(); EF.EF_Args.common_parameter_6 = this.txtStatTo.Text.ToString(); EF.EF_Args.common_parameter_7 = (string)this.txtBacklog01.EditValue ?? ""; EF.EF_Args.common_parameter_8 = (string)this.txtBacklog04.EditValue ?? ""; EF.EF_Args.common_parameter_9 = this.efDevDateEditdelivery_date_in_f.Text.ToString().Trim() == "" ? "" : Convert.ToDateTime(this.efDevDateEditdelivery_date_in_f.Text.ToString().Trim()).ToString("yyyyMMdd"); EF.EF_Args.common_parameter_10 = this.efDevDateEditdelivery_date_in_t.Text.ToString().Trim() == "" ? "" : Convert.ToDateTime(this.efDevDateEditdelivery_date_in_t.Text.ToString().Trim()).ToString("yyyyMMdd"); EF.EF_Args.common_parameter_11 = this.efDevDateEditdelivery_month.Text.ToString().Trim() == "" ? "" : Convert.ToDateTime(this.efDevDateEditdelivery_month.DateTime.ToString().Trim()).ToString("yyyyMM"); EF.EF_Args.common_object_1 = this.backlog_pos; EF.EF_Args.common_object_2 = this.backlog_val; this.EFCallForm("PMOMMAHR10"); } }
在跳转页面写一个被调用方法,在方法里面用EF对象接收参数进行信息的查询
#region 画面被调用事件 private void FormPMOMMAHR10_EF_START_FORM_BY_EF(object sender, EF.EF_Args i_args) { EI.EIInfo inInfo = new EI.EIInfo(); inInfo.Tables[0].Columns.Add("WID_FROM", typeof(int)); inInfo.Tables[0].Columns.Add("WID_TO", typeof(int)); inInfo.Tables[0].Columns.Add("ST_NO", typeof(string)); inInfo.Tables[0].Columns.Add("TYPE", typeof(string)); inInfo.Tables[0].Columns.Add("STAT_FROM", typeof(string)); inInfo.Tables[0].Columns.Add("STAT_TO", typeof(string)); inInfo.Tables[0].Columns.Add("BACKLOG_01", typeof(string)); inInfo.Tables[0].Columns.Add("BACKLOG_04", typeof(string)); inInfo.Tables[0].Columns.Add("DELIVERY_DATE_IN_F", typeof(string)); inInfo.Tables[0].Columns.Add("DELIVERY_DATE_IN_T", typeof(string)); inInfo.Tables[0].Columns.Add("ORDER_DELIVERY_DATE_MONTH", typeof(string)); inInfo.Tables[0].Columns.Add("BACKLOG_POS", typeof(string)); inInfo.Tables[0].Columns.Add("BACKLOG_VAL", typeof(string)); inInfo.Tables[0].Rows.Add(); inInfo.Tables[0].Rows[0]["WID_FROM"] = Convert.ToInt32(EF.EF_Args.common_parameter_1);//接收前台传来的参数 inInfo.Tables[0].Rows[0]["WID_TO"] = Convert.ToInt32(EF.EF_Args.common_parameter_2); inInfo.Tables[0].Rows[0]["ST_NO"] = EF.EF_Args.common_parameter_3.ToString(); inInfo.Tables[0].Rows[0]["TYPE"] = EF.EF_Args.common_parameter_4.ToString(); inInfo.Tables[0].Rows[0]["STAT_FROM"] = EF.EF_Args.common_parameter_5.ToString(); inInfo.Tables[0].Rows[0]["STAT_TO"] = EF.EF_Args.common_parameter_6.ToString(); inInfo.Tables[0].Rows[0]["BACKLOG_01"] = EF.EF_Args.common_parameter_7.ToString(); inInfo.Tables[0].Rows[0]["BACKLOG_04"] = EF.EF_Args.common_parameter_8.ToString(); inInfo.Tables[0].Rows[0]["DELIVERY_DATE_IN_F"] = EF.EF_Args.common_parameter_9.ToString(); inInfo.Tables[0].Rows[0]["DELIVERY_DATE_IN_T"] = EF.EF_Args.common_parameter_10.ToString(); inInfo.Tables[0].Rows[0]["ORDER_DELIVERY_DATE_MONTH"] = EF.EF_Args.common_parameter_11.ToString(); inInfo.Tables[0].Rows[0]["BACKLOG_POS"] = EF.EF_Args.common_object_1.ToString(); inInfo.Tables[0].Rows[0]["BACKLOG_VAL"] = EF.EF_Args.common_object_2.ToString(); EI.EIInfo outInfo = EI.EIManager.Instance.CallService("MA1RM","pmommahr10_i", inInfo);//调用Service将数据块传入 if (outInfo.sys_info.flag == 0) { this.efDevGrid1.DataSource = outInfo.Tables[0]; this.gridView1.BestFitColumns(); } this.EFMsgInfo = outInfo.sys_info.msg; } #endregion
原文:https://www.cnblogs.com/yjy1412/p/14509667.html