后台操作页面汇总
后台页面操作汇总
页面操作(gridview) ========ClsOperatePage.cs=============== namespace SLNPAGEPUB { /// <summary> /// 页面操作公共类 /// </summary> public class ClsOperatePage { public enum ForeColor { Red = 1, Green = 2, Blue = 3, Yellow = 4, White = 5, Black = 6, Null = 7, } public enum ControlType { Button = 1, Label = 2, TextBox = 3, DropDownList = 4, Null = 5, } #region 变量声明 private SlnSuwfPage _page; #endregion #region 构造函数 /// <summary> /// 构造函数 /// </summary> /// <param name="page">程序单元</param> public ClsOperatePage(SlnSuwfPage page) { this._page = page; } #endregion #region 设置页面按钮不可见 /// <summary> /// 设置页面按钮不可见 /// </summary> /// <param name="ctrl"></param> public static void SetControlUnVisible(Control ctrl) { if (ctrl.UniqueID.IndexOf("btn") >= 0) { ctrl.Visible = false; return; } foreach (Control c in ctrl.Controls) { ClsOperatePage.SetControlUnVisible(c); } } #endregion #region 打印Excel模板 /// <summary> /// 打印Excel模板 /// </summary> /// <param name="page">平台页面</param> /// <param name="templateName">模板名称</param> /// <param name="key">数据主键</param> /// <param name="isPrint">设置是打印还是预览</param> /// <returns></returns> public static string PrintExcel(SlnSuwfPage page, string templateName, string key, bool isPrint) { string strMsg = string.Empty; string strSql = string.Empty; if (string.IsNullOrEmpty(templateName)) return ""; try { DataSet ds = new DataSet(); strSql = "SELECT TABLENAME, QUERYSQL FROM XT_DYXD_TB WHERE TEMPLATENAME = '" + templateName + "'"; DataTable table = SlnDataAccess.GetDataTable(strSql); foreach (DataRow row in table.Rows) { string strTableName = row[0].ToString(); string strQuerySql = row[1].ToString(); strQuerySql = strQuerySql.Replace("{$PKValue$}", key); DataTable dt = SlnDataAccess.GetDataTable(strQuerySql); dt.TableName = strTableName; dt.PrimaryKey = new DataColumn[] { dt.Columns[0] }; ds.Tables.Add(dt.Copy()); } strMsg += Salien.Utility.SUWF.ClsPrintExcel.ExportExcel(page.Unit.ProgUnit.PU_BM, ds, templateName + ".xls", true, "", "", "", "Portrait=false&IsPreView=" + (!isPrint).ToString().ToLower()); return strMsg; } catch (Exception err) { return err.Source + " " + err.Message; } } #endregion #region 打印Excel模板 /// <summary> /// 打印Excel模板 /// </summary> /// <param name="page">平台页面</param> /// <param name="templateName">模板名称</param> /// <param name="key">数据主键</param> /// <returns></returns> public static string PrintExcel(SlnSuwfPage page, string templateName, string key) { string strMsg = string.Empty; string strSql = string.Empty; if (string.IsNullOrEmpty(templateName)) return ""; try { DataSet ds = new DataSet(); strSql = "SELECT TABLENAME, QUERYSQL FROM XT_DYXD_TB WHERE TEMPLATENAME = '" + templateName + "'"; DataTable table = SlnDataAccess.GetDataTable(strSql); foreach (DataRow row in table.Rows) { string strTableName = row[0].ToString(); string strQuerySql = row[1].ToString(); strQuerySql = strQuerySql.Replace("{$PKValue$}", key); DataTable dt = SlnDataAccess.GetDataTable(strQuerySql); dt.TableName = strTableName; dt.PrimaryKey = new DataColumn[] { dt.Columns[0] }; ds.Tables.Add(dt.Copy()); } strMsg += Salien.Utility.SUWF.ClsPrintExcel.ExportExcel(page.Unit.ProgUnit.PU_BM, ds, templateName + ".xls", true); return strMsg; } catch (Exception err) { return err.Source + " " + err.Message; } } #endregion #region 导出Excel模板 /// <summary> /// 导出Excel模板 /// </summary> /// <param name="page">平台页面</param> /// <param name="templateName">模板名称</param> /// <param name="key">数据主键</param> /// <returns></returns> public static string ExportExcel(SlnSuwfPage page, string templateName, string key) { string strMsg = string.Empty; string strSql = string.Empty; if (string.IsNullOrEmpty(templateName)) return ""; try { DataSet ds = new DataSet(); strSql = "SELECT TABLENAME, QUERYSQL FROM XT_DYXD_TB WHERE TEMPLATENAME = '" + templateName + "'"; DataTable table = SlnDataAccess.GetDataTable(strSql); foreach (DataRow row in table.Rows) { string strTableName = row[0].ToString(); string strQuerySql = row[1].ToString(); strQuerySql = strQuerySql.Replace("{$PKValue$}", key); DataTable dt = SlnDataAccess.GetDataTable(strQuerySql); dt.TableName = strTableName; dt.PrimaryKey = new DataColumn[] { dt.Columns[0] }; ds.Tables.Add(dt.Copy()); } strMsg += Salien.Utility.SUWF.ClsPrintExcel.ExportExcel(page.Unit.ProgUnit.PU_BM, ds, templateName + ".xls", false, "", "", "", ""); return strMsg; } catch (Exception err) { return err.Source + " " + err.Message; } } #endregion #region 关闭页面 /// <summary> /// 关闭页面 /// </summary> public void CloseWindow() { string strJS = "<script type='text/javascript'>" + "window.close();" + "</script>"; this._page.Response.Write(strJS); } #endregion #region 刷新父页面 /// <summary> /// 刷新父页面 /// </summary> public void RefreshParentWindow() { string strJS = "<script type='text/javascript'>" + "var pWindow = window.parent.parent;" + "if(pWindow != null && pWindow.gridframe != null && pWindow.gridframe.document.all.btnQuery != null)" + "{pWindow.gridframe.document.all.btnQuery.click();}" + "pWindow = window.parent.parent.parent.parent;" + "if(pWindow != null && pWindow.gridframe != null && pWindow.gridframe.document.all.btnQuery != null)" + "{pWindow.gridframe.document.all.btnQuery.click();}" + "</script>"; this._page.Response.Write(strJS); } #endregion #region 刷新父页面 /// <summary> /// 刷新父页面 /// </summary> public void RefreshParentWindow(bool ModalWindow) { if (ModalWindow == true) { string strJS = "<script type='text/javascript'>" + "var pWindow = window.opener.parent.parent.parent;" + "if(pWindow != null && pWindow.gridframe != null && pWindow.gridframe.document.all.btnQuery != null)" + "{pWindow.gridframe.document.all.btnQuery.click();}" + "pWindow = window.opener.parent.parent;" + "if(pWindow != null && pWindow.gridframe != null && pWindow.gridframe.document.all.btnQuery != null)" + "{pWindow.gridframe.document.all.btnQuery.click();}" + "pWindow = window.opener.parent.parent.parent.parent;" + "if(pWindow != null && pWindow.gridframe != null && pWindow.gridframe.document.all.btnQuery != null)" + "{pWindow.gridframe.document.all.btnQuery.click();}" + "pWindow = window.opener.parent;" + "if(pWindow != null)" + "{pWindow.document.location.reload();}" + "</script>"; this._page.Response.Write(strJS); } } #endregion #region 刷新子页面 /// <summary> /// 刷新子页面 /// </summary> public void RefreshChildWindow() { string strJS = "<script type='text/javascript'>" + "var pWindow = window.parent;" + "if(pWindow != null && pWindow.cardframe != null && pWindow.cardframe.subinfoframe.gridframe != null && pWindow.cardframe.subinfoframe.gridframe.document.all.btnQuery != null)" + "{pWindow.cardframe.subinfoframe.gridframe.document.all.btnQuery.click();}" + "else if(pWindow != null && pWindow.cardframe != null)" + "{window.parent.cardframe.document.location.reload();}" + "</script>"; this._page.Response.Write(strJS); } #endregion #region 设置页面不被缓存 /// <summary> /// 设置页面不被缓存 /// </summary> public void SetPageNoCache() { this._page.Response.Buffer = true; this._page.Page.Response.Cache.SetNoStore(); } #endregion #region 返回当前网格数据选中行里指定字段为空的行号,行号之间以逗号分割。 /// <summary> /// 返回当前网格数据选中行里指定字段为空的行号,行号之间以逗号分割。 /// </summary> /// <param name="field">要检索的字段</param> /// <returns></returns> public string SelectedRowsWithXFieldIsNull(string field) { string rows = string.Empty; for (int i = 0; i < this._page.GridData.Rows.Count; i++) { if (this._page.GridRowIsSelected(i)) { if (string.IsNullOrEmpty(this._page.GetRowDataByKey(i, field))) { rows += i.ToString() + ","; } } } rows = rows.TrimEnd(','); return rows; } #endregion #region 返回当前网格数据选中行里指定字段为空的行号,行号之间以逗号分割。 /// <summary> /// 返回当前网格数据选中行里指定字段为空的行号,行号之间以逗号分割。 /// </summary> /// <param name="field">要检索的字段。</param> /// <param name="isStartWithZero">指定返回的行号是否从零开始。</param> /// <returns></returns> public string SelectedRowsWithXFieldIsNull(string field, bool isStartWithZero) { string rows = string.Empty; for (int i = 0; i < this._page.GridData.Rows.Count; i++) { if (this._page.GridRowIsSelected(i)) { if (string.IsNullOrEmpty(this._page.GetRowDataByKey(i, field))) { rows += i.ToString() + ","; } } } rows = rows.TrimEnd(','); if (isStartWithZero == false) { string[] arr = rows.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < arr.Length; i++) { arr[i] = Convert.ToString(Int32.Parse(arr[i]) + 1); } rows = string.Empty; for (int i = 0; i < arr.Length; i++) { rows += arr[i] + ","; } rows = rows.TrimEnd(','); } return rows; } #endregion #region 获取当前网格数据中选中的行号,行号之间以逗号分割。 /// <summary> /// 获取当前网格数据中选中的行号,行号之间以逗号分割。 /// </summary> /// <returns></returns> public string GetSelectedRows() { string rows = string.Empty; for (int i = 0; i < this._page.GridData.Rows.Count; i++) { if (this._page.GridRowIsSelected(i)) { rows += i.ToString() + ","; } } rows = rows.TrimEnd(','); return rows; } #endregion #region 保存网格数据。 /// <summary> /// 保存网格数据。 /// </summary> public void SaveGridData() { this._page.btnSave_Click(null, null); } #endregion #region 保存网格数据。 /// <summary> /// 保存网格数据。 /// </summary> /// <param name="isRestoreTickState">指示保存操作完成之后,是否需要恢复网格多选框的选中状态。</param> public void SaveGridData(bool isRestoreTickState) { try { if (isRestoreTickState == false) { this._page.btnSave_Click(null, null); } else { string strKeys = this._page.GetRowDataPrimaryKeys(); this._page.btnSave_Click(null, null); string[] arrKeys = strKeys.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); string strPU = this._page.Unit.ProgUnit.PU_BM; string strPK = SlnDataAccess.GetValueBySql("SELECT FLD_KEY FROM SUF_FIELD_TB WHERE FLD_ISPRIMKEY = 1 AND PU_BM = " + strPU).ToString(); for (int i = 0; i < arrKeys.Length; i++) { for (int j = 0; j < this._page.GridData.Rows.Count; j++) { if (this._page.GetRowDataByKey(j, strPK) == arrKeys[i]) { this._page.SetGridRowSelected(j, true); break; } } } } } catch (Exception ex) { throw new Exception(ex.Source + " " + ex.Message); } } #endregion #region 设置网格单元格样式。 /// <summary> /// 设置网格单元格样式。 /// </summary> /// <param name="field">指定需要设置样式的网格字段名。</param> /// <param name="condition">指定设置样式的条件。</param> /// <param name="cellControlType">指定单元格的控件类型。</param> /// <param name="cellForeColor">设置单元格的前景色。</param> /// <param name="cellEnabled">设置单元格是否只读。</param> public void SetGridFieldStyle(string field, string condition, ControlType cellControlType, ForeColor cellForeColor, bool cellEnabled) { try { GridView grid = this._page.FindControl("grdTest") as GridView; foreach (GridViewRow row in grid.Rows) { string strPU = this._page.Unit.ProgUnit.PU_BM; string strPKField = SlnDataAccess.GetValueBySql("SELECT FLD_KEY FROM SUF_FIELD_TB WHERE FLD_ISPRIMKEY = 1 AND PU_BM = " + strPU).ToString(); string strPKValue = this._page.GetRowDataByKey(row.RowIndex, strPKField); string strSql = string.Empty; if (string.IsNullOrEmpty(condition)) { strSql = "SELECT 1 FROM (" + this._page.GetQuerySql() + ") WHERE " + strPKField + "=" + strPKValue; } else { strSql = "SELECT 1 FROM (" + this._page.GetQuerySql() + ") WHERE " + strPKField + "=" + strPKValue + " AND " + condition; } object obj = SlnDataAccess.GetValueBySql(strSql); if (obj != null) { if (!string.IsNullOrEmpty(field)) { if (cellControlType != ControlType.Null) { if (cellEnabled == true) { switch (cellControlType) { case ControlType.TextBox: switch (cellForeColor) { case ForeColor.Red: this._page.GetTextBoxInGridCell(row.RowIndex, field).ForeColor = Color.Red; break; case ForeColor.Green: this._page.GetTextBoxInGridCell(row.RowIndex, field).ForeColor = Color.Green; break; case ForeColor.Blue: this._page.GetTextBoxInGridCell(row.RowIndex, field).ForeColor = Color.Blue; break; case ForeColor.Yellow: this._page.GetTextBoxInGridCell(row.RowIndex, field).ForeColor = Color.Yellow; break; default: break; } this._page.GetTextBoxInGridCell(row.RowIndex, field).Attributes.Add("readonly", "false"); break; default: switch (cellForeColor) { case ForeColor.Red: row.Cells[this._page.Unit.ProgUnit.FieldList.GetIndexByKey(field)].ForeColor = Color.Red; break; case ForeColor.Green: row.Cells[this._page.Unit.ProgUnit.FieldList.GetIndexByKey(field)].ForeColor = Color.Green; break; case ForeColor.Blue: row.Cells[this._page.Unit.ProgUnit.FieldList.GetIndexByKey(field)].ForeColor = Color.Blue; break; case ForeColor.Yellow: row.Cells[this._page.Unit.ProgUnit.FieldList.GetIndexByKey(field)].ForeColor = Color.Yellow; break; default: break; } row.Cells[this._page.Unit.ProgUnit.FieldList.GetIndexByKey(field)].Enabled = true; break; } } else { switch (cellControlType) { case ControlType.TextBox: switch (cellForeColor) { case ForeColor.Red: this._page.GetTextBoxInGridCell(row.RowIndex, field).ForeColor = Color.Red; break; case ForeColor.Green: this._page.GetTextBoxInGridCell(row.RowIndex, field).ForeColor = Color.Green; break; case ForeColor.Blue: this._page.GetTextBoxInGridCell(row.RowIndex, field).ForeColor = Color.Blue; break; case ForeColor.Yellow: this._page.GetTextBoxInGridCell(row.RowIndex, field).ForeColor = Color.Yellow; break; default: break; } this._page.GetTextBoxInGridCell(row.RowIndex, field).Attributes.Add("readonly", "true"); break; default: switch (cellForeColor) { case ForeColor.Red: row.Cells[this._page.Unit.ProgUnit.FieldList.GetIndexByKey(field)].ForeColor = Color.Red; break; case ForeColor.Green: row.Cells[this._page.Unit.ProgUnit.FieldList.GetIndexByKey(field)].ForeColor = Color.Green; break; case ForeColor.Blue: row.Cells[this._page.Unit.ProgUnit.FieldList.GetIndexByKey(field)].ForeColor = Color.Blue; break; case ForeColor.Yellow: row.Cells[this._page.Unit.ProgUnit.FieldList.GetIndexByKey(field)].ForeColor = Color.Yellow; break; default: break; } row.Cells[this._page.Unit.ProgUnit.FieldList.GetIndexByKey(field)].Enabled = false; break; } } } else { if (cellEnabled == true) { row.Cells[this._page.Unit.ProgUnit.FieldList.GetIndexByKey(field)].Enabled = true; } else { row.Cells[this._page.Unit.ProgUnit.FieldList.GetIndexByKey(field)].Enabled = false; } switch (cellForeColor) { case ForeColor.Red: row.Cells[this._page.Unit.ProgUnit.FieldList.GetIndexByKey(field)].ForeColor = Color.Red; break; case ForeColor.Green: row.Cells[this._page.Unit.ProgUnit.FieldList.GetIndexByKey(field)].ForeColor = Color.Green; break; case ForeColor.Blue: row.Cells[this._page.Unit.ProgUnit.FieldList.GetIndexByKey(field)].ForeColor = Color.Blue; break; case ForeColor.Yellow: row.Cells[this._page.Unit.ProgUnit.FieldList.GetIndexByKey(field)].ForeColor = Color.Yellow; break; default: break; } } } } } } catch (Exception ex) { throw new Exception(ex.Source + " " + ex.Message); } } #endregion } } ================SLSHTestEdit========================================== namespace SLSHTestEdit { public class Class1 : ISuwfBus { private SlnSuwfPage _page; GridView grd; void ISuwfBus.Initial(SlnSuwfPage page) { this._page = page; _page.Load += new EventHandler(Page_Load); } private void Page_Load(object sender, EventArgs e) { ChageEdit(null, null); return; } #region ChageCellColor private void ChageEdit(object sender, EventArgs e) { int indexID = _page.Unit.ProgUnit.FieldList.GetFieldByKey("ID").Index;//流水号 int indx_edit = _page.Unit.ProgUnit.FieldList.GetFieldByKey("edit").Index;//是否编辑 grd = _page.MainGrid; foreach (GridViewRow row in grd.Rows) { if( ConvertFunction.ObjToInt32(row.Cells[indexID].Text)==1) { row.Cells[indx_edit].Text = ""; } } } #endregion ChageCellColor } } ===============ClsCalculateZPDJ .cs========== namespace WXSMGZ { class ClsCalculateZPDJ : ISuwfBus { private SlnSuwfPage _page; public void Initial(SlnSuwfPage page) { _page = page; _page.afterFillGrid += new AfterFillGrid(afterFillGrid); } #region afterFillGrid private void afterFillGrid() { GridView grd = _page.MainGrid; int ZPDJ = _page.Unit.ProgUnit.FieldList.GetIndexByKey("ZPDJ"); foreach (GridViewRow row in grd.Rows) { string ZGZ = ConvertFunction.ObjToStr(_page.GetRowDataByKey(row.RowIndex,"ZGZ")).Trim(); string GHGZ = ConvertFunction.ObjToStr(_page.GetRowDataByKey(row.RowIndex,"GHGZ")).Trim(); string RKSL = ConvertFunction.ObjToStr(_page.GetRowDataByKey(row.RowIndex,"RKSL")).Trim(); if (SlnString.IsNull(ZGZ)==true) { row.Cells[ZPDJ].Text =""; } else if (SlnString.IsNull(GHGZ)==true) { row.Cells[ZPDJ].Text=""; } else if (SlnString.IsNull(RKSL)==true) { row.Cells[ZPDJ].Text =""; } else { row.Cells[ZPDJ].Text =CalcZPDJ(ZGZ, GHGZ, RKSL); } } } #endregion } } ========SLSHNYGL_ONLINE.PUB============= namespace SLSHNYGL_ONLINE.PUB { public class ClsFun { public static int GetSelectedRowNum(SlnSuwfPage _page, int iCol) { int iCount = 0; int iSelectRowNum = -1; for (int i = 0; i < _page.MainGrid.Rows.Count; i++) { if (_page.MainGrid.Rows[i].HasControls()) { if (_page.MainGrid.Rows[i].Controls[iCol].HasControls()) { if (((_page.MainGrid.Rows[i].Controls[iCol].Controls[0]) as CheckBox) != null) { if (((_page.MainGrid.Rows[i].Controls[iCol].Controls[0]) as CheckBox).Checked) { iSelectRowNum = i; iCount++; } } } } } if (iCount == 1)//只能选择一个 { iSelectRowNum = 1; } else { iSelectRowNum = -1; } return iSelectRowNum; } } } ========ClsMX_BD============ private void btnCalculate1_click(object sender, EventArgs e) { if (grd.Rows.Count == 0) { return; } isCalculate = true; listParameter = new List<DataFieldEntity>(); GetParameterDataTable();//查询数据库 根据模型id 获取模型下的需要公式计算的参数 str_ParametersInGs = this.GetAllParameterIdInGsToStr(mx_id); //根据 模型下参数对应的 公式 获取公式中用到的参数字符串 (1,2,3)形式 if (str_ParametersInGs == null || str_ParametersInGs == "") { _page.ShowMessage("没有指标需要计算"); return; } GetGridBoxValueList("PARAMETER_ID", "MXBD_BD");//获取网格编辑值 //查询数据库获取与模型相关的所有参数,包含模型下参数 和 公式中涉及到的参数,按照公式层级由0向上 getAllParameterDataTable(); LoadLevel0Parameter();//界面上已计算0级参数 LoadData();//根据公式计算 从1级开始往上递归计算 setGridValue();//将计算后的数据填到界面上 } //给界面数据赋值时,将原始值为空的,赋值,用颜色标示 private void setGridValue() { string temp_str = ""; try { string ys_value = ""; string bd_value = ""; int index = 0; DataFieldEntity temp = new DataFieldEntity(); int zb_ys = this._page.Unit.ProgUnit.FieldList.GetIndexByKey("ZB_YS"); int mx_ys = this._page.Unit.ProgUnit.FieldList.GetIndexByKey("MXBD_YS"); string temp_level = ""; string str_tips = _page.GetValueByName("dataTips"); bdysnewParameter = _page.Session["bdysnew"]==null?null:(Dictionary<string, string>)_page.Session["bdysnew"]; zbysnewParameter = _page.Session["zbysnew"]==null?null:(Dictionary<string, string>)_page.Session["zbysnew"]; foreach (GridViewRow row in grd.Rows) { ys_value = ""; bd_value = ""; index = row.RowIndex; current_pid = _page.GetRowDataByKey(index, "PARAMETER_ID"); temp = listParameter.Find(getValue); //---lzw 更具session给原始赋值 if (bdysnewParameter.ContainsKey(current_pid)) { row.Cells[mx_ys].Text = bdysnewParameter[current_pid]; row.Cells[mx_ys].ForeColor = Color.Red; ys_value = bdysnewParameter[current_pid]; } else { ys_value = _page.GetRowDataByKey(index, "MXBD_YS"); } bd_value = _page.GetRowDataByKey(index, "MXBD_BD"); try { if (double.Parse(bd_value) != double.Parse(ys_value))//和原始值不同变色 { (_page.GetTextBoxInGridCell(index, "MXBD_BD") as TextBox).BackColor = Color.Yellow; } } catch (Exception) { } ys_value = ""; bd_value = ""; //---lzw 只给指标赋值 current_pid = _page.GetRowDataByKey(index, "ZB_ID"); temp = listParameter.Find(getValue); if (temp != null) { temp_str += index + "行 指标标定赋值" + temp.U_VALUE + ";"; if (temp.CanCalculate) { (_page.GetTextBoxInGridCell(index, "ZB_BD") as TextBox).Text = temp.U_VALUE; bd_value = temp.U_VALUE; } else { (_page.GetTextBoxInGridCell(index, "ZB_BD") as TextBox).Text = str_tips; bd_value = str_tips; } } //---lzw 根据session给原始赋值 if (zbysnewParameter.ContainsKey(current_pid)) { row.Cells[zb_ys].Text = zbysnewParameter[current_pid]; //row.ForeColor = Color.Red; row.Cells[zb_ys].ForeColor = Color.Red; ys_value = zbysnewParameter[current_pid]; } else { ys_value = _page.GetRowDataByKey(index, "ZB_YS"); } try { if (double.Parse(bd_value) != double.Parse(ys_value))//和原始值不同变色 { (_page.GetTextBoxInGridCell(index, "ZB_BD") as TextBox).BackColor = Color.Yellow; } } catch (Exception) { } } _page.ShowMessage("计算完成"); } catch (System.Exception e) { for (int m = 0; m < listParameter.Count;m++ ) { temp_str += listParameter[m].PARAMETER_ID + ":" + listParameter[m].U_VALUE + ";"; } _page.ShowMessage("参数个数:" + listParameter.Count + "; 参数信息" + temp_str + ";" + strError + "; 计算出错" + e.Message); } } ===============HY27101btnBC=============== namespace SLSH20701 //用于HY20702中 { public class ClsBC : ISuwfBus { private SlnSuwfPage _page; public ArrayList CheckBoxSelectedIndex = new ArrayList();//复选框勾选索引,用来勾选错误时间信息的数据行 void ISuwfBus.Initial(SlnSuwfPage page) { this._page = page; _page.Load += new EventHandler(page_Load); PUB.BindButtonEvent(_page, "btnBC", new EventHandler(btnBC_Click)); } void page_Load(object sender, EventArgs e) { } void btnBC_Click(object sender, EventArgs e) { try { string strPK = _page.GetRowDataPrimaryKeys(); if (SlnString.IsNull(strPK) == true) { _page.ShowMessage(SlnString.ScriptAlertMessage("请先选择网格数据")); return; } List<string> lstSql = new List<string>(); string strNF = _page.GetControlValue("val_NF"); string strYF = _page.GetControlValue("val_YF"); if (strNF == "" && strYF != "") { _page.ShowMessage("年份不能为空!"); return; } if (strYF == "" && strNF != "") { _page.ShowMessage("月份不能为空!"); return; } if (strNF == "" && strYF == "") { _page.ShowMessage("年份月份不能为空!"); return; } string id = string.Empty; string strKSJHRQ = string.Empty;//开始交货日期 string strJZJHRQ = string.Empty;//截止交货日期 string strMsg = string.Empty;//输出错误信息 string strBZ = string.Empty;//备注信息 GridView grd = _page.MainGrid; foreach (GridViewRow gridRow in grd.Rows) { if (_page.GridRowIsSelected(gridRow.RowIndex)) { id = _page.GetRowDataByKey(gridRow.RowIndex, "ID"); strKSJHRQ = _page.GetRowDataByKey(gridRow.RowIndex, "KSJHRQ"); strJZJHRQ = _page.GetRowDataByKey(gridRow.RowIndex, "JZJHRQ"); strBZ = _page.GetRowDataByKey(gridRow.RowIndex, "BZ"); int result = JudgeDate(strNF, strYF, strKSJHRQ, strJZJHRQ);//调用判断日期填写是否正确的方法 if (result == 1)//只填写截止交货日期 {//更新表中的截止交货日期 lstSql.Add($"update cgyclyddhj_GYS_tb set jzjhrq=to_date('{ strJZJHRQ}','yyyy-mm-dd') where id = { id)} "); lstSql.Add(string.Format("update cgyclyddhj_GYS_tb set bz='{0}' where id = {1} ", strBZ, id)); } else if (result == 2)//同时填写了开始交货日期和截止交货日期 { //更新表中的开始交货日期和截止交货日期 lstSql.Add(string.Format("update cgyclyddhj_GYS_tb set ksjhrq=to_date('{0}','yyyy-mm-dd'),jzjhrq=to_date('{1}','yyyy-mm-dd') where id = {2} ", strKSJHRQ, strJZJHRQ, id)); lstSql.Add(string.Format("update cgyclyddhj_GYS_tb set bz='{0}' where id = {1} ", strBZ, id)); } //其他都属于输入错误的情况,将索引号获取,并输出更新错误信息输出字符串 else { strMsg = strMsg + "第" + (gridRow.RowIndex + 1) + "行输入信息有误 "; CheckBoxSelectedIndex.Add(gridRow.RowIndex);//将需要勾选的错误数据行加入动态数组当中 } } } string SqlMsg = SlnDataAccess.ExecuteSqlTransaction(lstSql);//专门处理执行SQL批操作是出现的错误 if (string.IsNullOrEmpty(SqlMsg)) { if (strMsg.IndexOf("第") > -1)//如果包含“第”字样,说明有错误时间信息,则输出错误提示 { this._page.ShowMessage("保存成功!其中" + strMsg); } else { this._page.ShowMessage("保存成功");//否则直接提示保存成功 } } else { this._page.ShowMessage("保存出错" + strMsg); } _page.btnQuery_Click(null, null);//需要刷新一下页面,更新PU中输入的错误时间信息 foreach (object SelectIndex in CheckBoxSelectedIndex)//遍历动态数组中的索引,挨个将复选框进行选中 { _page.SetGridRowSelected(ConvertFunction.ObjToInt32(SelectIndex), true); } } catch (Exception ex) { _page.ShowMessage(ex.Message); } } } }
浙公网安备 33010602011771号