/// <summary> /// 得到一个对象实体 /// </summary> public CUSTOMRP.Model.REPORTCOLUMN GetModel(int UserID, int ID) { StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT TOP 1 rc.ID,rc.RPID,rc.COLUMNNAME,rc.COLUMNFUNC,rc.CRITERIA1,rc.CRITERIA2,rc.CRITERIA3,rc.CRITERIA4,rc.AUDODATE,") .Append(" rc.SOURCEVIEWCOLUMNID,rc.DISPLAYNAME,rc.COLUMNTYPE,rc.COLUMNCOMMENT,rc.FORMULAFIELDID,rc.HIDDEN,rc.SEQ,rc.EXCEL_COLWIDTH,rc.FONT_SIZE,rc.FONT_BOLD,rc.FONT_ITALIC,rc.HORIZONTAL_TEXT_ALIGN,rc.CELL_FORMAT,rc.BACKGROUND_COLOR,rc.FONT_COLOR,rc.IS_NUMERIC,rc.IS_ASCENDING,") .Append(" COALESCE(NULLIF(svc.DISPLAYNAME, ''), NULLIF(svc.DEFAULTDISPLAYNAME, ''), '') SVCDISPLAYNAME") .Append(" from REPORTCOLUMN rc") .Append(" INNER JOIN REPORT rp ON rc.RPID = rp.ID") .Append(" INNER JOIN SOURCEVIEW sv ON rp.SVID = sv.ID") .Append(" LEFT JOIN SOURCEVIEWCOLUMN svc ON sv.ID = svc.SVID AND rc.COLUMNNAME = svc.COLUMNNAME") .Append(" WHERE rc.ID=@ID") .Append(" AND (((svc.HIDDEN IS NULL) OR (svc.HIDDEN = 0)) OR (rc.COLUMNTYPE = 2))") .Append(" ORDER BY rc.COLUMNFUNC, rc.SEQ"); SqlParameter[] parameters = { new SqlParameter("@ID", SqlDbType.Int, 4) }; parameters[0].Value = ID; CUSTOMRP.Model.REPORTCOLUMN model = new CUSTOMRP.Model.REPORTCOLUMN(); DataSet ds = DbHelperSQL.Query(UserID, strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { return(DataRowToModel(ds.Tables[0].Rows[0])); } else { return(null); } }
/// <summary> /// Update REPORTCOLUMN data similar to where REPLACE statement in MySQL works /// </summary> /// <param name="model"></param> /// <returns></returns> public bool Replace(int UserID, CUSTOMRP.Model.REPORTCOLUMN model) { bool result = false; if (model.ColumnType == Model.REPORTCOLUMN.ColumnTypes.Normal) { string strQuery = "SELECT [ID] FROM [REPORTCOLUMN] WHERE [RPID] = @RPID AND [COLUMNNAME] = @COLUMNNAME AND COLUMNFUNC = @COLUMNFUNC AND COLUMNTYPE = @COLUMNTYPE"; try { object columnid = DbHelperSQL.GetSingle(UserID, strQuery, new SqlParameter("@RPID", model.RPID), new SqlParameter("@COLUMNNAME", model.COLUMNNAME), new SqlParameter("@COLUMNFUNC", model.COLUMNFUNC), new SqlParameter("@COLUMNTYPE", model.COLUMNTYPE)); if (columnid == null) { result = (Add(UserID, model) != 0); } else { model.ID = (int)columnid; result = Update(UserID, model); } } catch { // operation failed, return false } } else { string strQuery = "SELECT [ID] FROM [REPORTCOLUMN] WHERE [RPID] = @RPID AND [DISPLAYNAME] = @DISPLAYNAME AND COLUMNFUNC = @COLUMNFUNC AND COLUMNTYPE = @COLUMNTYPE"; try { object columnid = DbHelperSQL.GetSingle(UserID, strQuery, new SqlParameter("@RPID", model.RPID), new SqlParameter("@DISPLAYNAME", model.DISPLAYNAME), new SqlParameter("@COLUMNFUNC", model.COLUMNFUNC), new SqlParameter("@COLUMNTYPE", model.COLUMNTYPE)); if (columnid == null) { result = (Add(UserID, model) != 0); } else { model.ID = (int)columnid; result = Update(UserID, model); } } catch { // operation failed, return false } } return(result); }
/// <summary> /// 得到一个对象实体 /// </summary> public CUSTOMRP.Model.REPORTCOLUMN DataRowToModel(DataRow row) { CUSTOMRP.Model.REPORTCOLUMN model = new CUSTOMRP.Model.REPORTCOLUMN(); if (row != null) { if (row["ID"] != null && row["ID"].ToString() != "") { model.ID = Int32.Parse(row["ID"].ToString()); } if (row["RPID"] != null && row["RPID"].ToString() != "") { model.RPID = Int32.Parse(row["RPID"].ToString()); } if (row["COLUMNNAME"] != null) { model.COLUMNNAME = row["COLUMNNAME"].ToString(); } if (row["COLUMNFUNC"] != null && row["COLUMNFUNC"].ToString() != "") { model.COLUMNFUNC = Int32.Parse(row["COLUMNFUNC"].ToString()); } if (row["CRITERIA1"] != null) { model.CRITERIA1 = row["CRITERIA1"].ToString(); } if (row["CRITERIA2"] != null) { model.CRITERIA2 = row["CRITERIA2"].ToString(); } if (row["CRITERIA3"] != null) { model.CRITERIA3 = row["CRITERIA3"].ToString(); } if (row["CRITERIA4"] != null) { model.CRITERIA4 = row["CRITERIA4"].ToString(); } if (row["AUDODATE"] != null && row["AUDODATE"].ToString() != "") { model.AUDODATE = DateTime.Parse(row["AUDODATE"].ToString()); } if ((row["SOURCEVIEWCOLUMNID"] != null) && (!Convert.IsDBNull(row["SOURCEVIEWCOLUMNID"]))) { model.SOURCEVIEWCOLUMNID = Convert.ToInt32(row["SOURCEVIEWCOLUMNID"]); } model.DISPLAYNAME = row["DISPLAYNAME"] as string; model.COLUMNTYPE = Convert.ToInt32(row["COLUMNTYPE"]); model.COLUMNCOMMENT = row["COLUMNCOMMENT"] as string; model.FORMULAFIELDID = Convert.IsDBNull(row["FORMULAFIELDID"]) ? (int?)null : Convert.ToInt32(row["FORMULAFIELDID"]); model.HIDDEN = Convert.ToBoolean(row["HIDDEN"]); model.SEQ = Convert.ToInt32(row["SEQ"]); model.EXCEL_COLWIDTH = Convert.ToDecimal(row["EXCEL_COLWIDTH"]); model.FONT_SIZE = Convert.IsDBNull(row["FONT_SIZE"]) ? (int?)null : Convert.ToInt32(row["FONT_SIZE"]); model.FONT_BOLD = Convert.ToBoolean(row["FONT_BOLD"]); model.FONT_ITALIC = Convert.ToBoolean(row["FONT_ITALIC"]); model.HORIZONTAL_TEXT_ALIGN = Convert.ToInt32(row["HORIZONTAL_TEXT_ALIGN"]); model.CELL_FORMAT = row["CELL_FORMAT"] as string; model.BACKGROUND_COLOR = row["BACKGROUND_COLOR"] as string; model.FONT_COLOR = row["FONT_COLOR"] as string; model.SVCDISPLAYNAME = row["SVCDISPLAYNAME"] as string; model.IS_NUMERIC = Convert.IsDBNull(row["IS_NUMERIC"]) ? true : Convert.ToBoolean(row["IS_NUMERIC"]); model.IS_ASCENDING = Convert.IsDBNull(row["IS_ASCENDING"]) ? true : Convert.ToBoolean(row["IS_ASCENDING"]); } return(model); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(int UserID, CUSTOMRP.Model.REPORTCOLUMN model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into REPORTCOLUMN("); strSql.Append("RPID,COLUMNNAME,COLUMNFUNC,CRITERIA1,CRITERIA2,CRITERIA3,CRITERIA4,AUDODATE,SOURCEVIEWCOLUMNID,DISPLAYNAME,COLUMNTYPE,COLUMNCOMMENT,FORMULAFIELDID,HIDDEN,SEQ,EXCEL_COLWIDTH,FONT_SIZE,FONT_BOLD,FONT_ITALIC,HORIZONTAL_TEXT_ALIGN,CELL_FORMAT,BACKGROUND_COLOR,FONT_COLOR,IS_NUMERIC,IS_ASCENDING)"); strSql.Append(" values ("); strSql.Append("@RPID,@COLUMNNAME,@COLUMNFUNC,@CRITERIA1,@CRITERIA2,@CRITERIA3,@CRITERIA4,@AUDODATE,@SOURCEVIEWCOLUMNID,@DISPLAYNAME,@COLUMNTYPE,@COLUMNCOMMENT,@FORMULAFIELDID,@HIDDEN,@SEQ,@EXCEL_COLWIDTH,@FONT_SIZE,@FONT_BOLD,@FONT_ITALIC,@HORIZONTAL_TEXT_ALIGN,@CELL_FORMAT,@BACKGROUND_COLOR,@FONT_COLOR,@IS_NUMERIC,@IS_ASCENDING)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@RPID", SqlDbType.Int, 4), new SqlParameter("@COLUMNNAME", SqlDbType.NVarChar, -1), new SqlParameter("@COLUMNFUNC", SqlDbType.Int, 4), new SqlParameter("@CRITERIA1", SqlDbType.NVarChar, -1), new SqlParameter("@CRITERIA2", SqlDbType.NVarChar, -1), new SqlParameter("@CRITERIA3", SqlDbType.NVarChar, -1), new SqlParameter("@CRITERIA4", SqlDbType.NVarChar, -1), new SqlParameter("@AUDODATE", SqlDbType.DateTime), new SqlParameter("@SOURCEVIEWCOLUMNID", SqlDbType.Int, 4), new SqlParameter("@DISPLAYNAME", SqlDbType.NVarChar, -1), new SqlParameter("@COLUMNTYPE", SqlDbType.Int, 4), new SqlParameter("@COLUMNCOMMENT", SqlDbType.NVarChar, -1), new SqlParameter("@FORMULAFIELDID", SqlDbType.Int, 4), new SqlParameter("@HIDDEN", SqlDbType.Bit), new SqlParameter("@SEQ", SqlDbType.Int, 4), new SqlParameter("@EXCEL_COLWIDTH", SqlDbType.Decimal), new SqlParameter("@FONT_SIZE", SqlDbType.Int, 4), new SqlParameter("@FONT_BOLD", SqlDbType.Bit), new SqlParameter("@FONT_ITALIC", SqlDbType.Bit), new SqlParameter("@HORIZONTAL_TEXT_ALIGN", SqlDbType.Int, 4), new SqlParameter("@CELL_FORMAT", SqlDbType.NVarChar, -1), new SqlParameter("@BACKGROUND_COLOR", SqlDbType.NVarChar, -1), new SqlParameter("@FONT_COLOR", SqlDbType.NVarChar, -1), new SqlParameter("@IS_NUMERIC", SqlDbType.Bit), new SqlParameter("@IS_ASCENDING", SqlDbType.Bit), }; parameters[0].Value = model.RPID; parameters[1].Value = model.COLUMNNAME; parameters[2].Value = model.COLUMNFUNC; parameters[3].Value = model.CRITERIA1; parameters[4].Value = model.CRITERIA2; parameters[5].Value = model.CRITERIA3; parameters[6].Value = model.CRITERIA4; parameters[7].Value = model.AUDODATE; parameters[8].Value = model.SOURCEVIEWCOLUMNID ?? -1; parameters[9].Value = model.DISPLAYNAME; parameters[10].Value = model.COLUMNTYPE; parameters[11].Value = model.COLUMNCOMMENT ?? String.Empty; parameters[12].Value = model.FORMULAFIELDID ?? Convert.DBNull; parameters[13].Value = model.HIDDEN; parameters[14].Value = model.SEQ; parameters[15].Value = model.EXCEL_COLWIDTH; parameters[16].Value = model.FONT_SIZE ?? Convert.DBNull; parameters[17].Value = model.FONT_BOLD; parameters[18].Value = model.FONT_ITALIC; parameters[19].Value = model.HORIZONTAL_TEXT_ALIGN; parameters[20].Value = model.CELL_FORMAT; parameters[21].Value = model.BACKGROUND_COLOR; parameters[22].Value = model.FONT_COLOR; parameters[23].Value = model.IS_NUMERIC; parameters[24].Value = model.IS_ASCENDING; object obj = DbHelperSQL.GetSingle(UserID, strSql.ToString(), parameters); if (obj == null) { return(0); } else { return(Convert.ToInt32(obj)); } }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(int UserID, CUSTOMRP.Model.REPORTCOLUMN model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update REPORTCOLUMN set "); strSql.Append("RPID=@RPID,"); strSql.Append("COLUMNNAME=@COLUMNNAME,"); strSql.Append("COLUMNFUNC=@COLUMNFUNC,"); strSql.Append("CRITERIA1=@CRITERIA1,"); strSql.Append("CRITERIA2=@CRITERIA2,"); strSql.Append("CRITERIA3=@CRITERIA3,"); strSql.Append("CRITERIA4=@CRITERIA4,"); strSql.Append("AUDODATE=@AUDODATE,"); strSql.Append("SOURCEVIEWCOLUMNID=@SOURCEVIEWCOLUMNID,"); strSql.Append("DISPLAYNAME=@DISPLAYNAME,"); strSql.Append("COLUMNTYPE=@COLUMNTYPE,"); strSql.Append("COLUMNCOMMENT=@COLUMNCOMMENT,"); strSql.Append("FORMULAFIELDID=@FORMULAFIELDID,"); strSql.Append("HIDDEN=@HIDDEN,"); strSql.Append("SEQ=@SEQ,"); strSql.Append("EXCEL_COLWIDTH=@EXCEL_COLWIDTH,"); strSql.Append("FONT_SIZE=@FONT_SIZE,"); strSql.Append("FONT_BOLD=@FONT_BOLD,"); strSql.Append("FONT_ITALIC=@FONT_ITALIC,"); strSql.Append("HORIZONTAL_TEXT_ALIGN=@HORIZONTAL_TEXT_ALIGN,"); strSql.Append("CELL_FORMAT=@CELL_FORMAT,"); strSql.Append("BACKGROUND_COLOR=@BACKGROUND_COLOR,"); strSql.Append("FONT_COLOR=@FONT_COLOR,"); strSql.Append("IS_NUMERIC=@IS_NUMERIC,"); strSql.Append("IS_ASCENDING=@IS_ASCENDING"); strSql.Append(" where ID=@ID"); SqlParameter[] parameters = { new SqlParameter("@RPID", model.RPID), new SqlParameter("@COLUMNNAME", model.COLUMNNAME), new SqlParameter("@COLUMNFUNC", model.COLUMNFUNC), new SqlParameter("@CRITERIA1", model.CRITERIA1), new SqlParameter("@CRITERIA2", model.CRITERIA2), new SqlParameter("@CRITERIA3", model.CRITERIA3), new SqlParameter("@CRITERIA4", model.CRITERIA4), new SqlParameter("@AUDODATE", model.AUDODATE), new SqlParameter("@SOURCEVIEWCOLUMNID", model.SOURCEVIEWCOLUMNID ?? -1), new SqlParameter("@DISPLAYNAME", model.DISPLAYNAME), new SqlParameter("@COLUMNTYPE", model.COLUMNTYPE), new SqlParameter("@COLUMNCOMMENT", model.COLUMNCOMMENT ?? String.Empty), new SqlParameter("@FORMULAFIELDID", model.FORMULAFIELDID), new SqlParameter("@HIDDEN", model.HIDDEN), new SqlParameter("@SEQ", model.SEQ), new SqlParameter("@EXCEL_COLWIDTH", model.EXCEL_COLWIDTH), new SqlParameter("@FONT_SIZE", model.FONT_SIZE), new SqlParameter("@FONT_BOLD", model.FONT_BOLD), new SqlParameter("@FONT_ITALIC", model.FONT_ITALIC), new SqlParameter("@HORIZONTAL_TEXT_ALIGN", model.HORIZONTAL_TEXT_ALIGN), new SqlParameter("@CELL_FORMAT", model.CELL_FORMAT), new SqlParameter("@BACKGROUND_COLOR", model.BACKGROUND_COLOR), new SqlParameter("@FONT_COLOR", model.FONT_COLOR), new SqlParameter("@IS_NUMERIC", model.IS_NUMERIC), new SqlParameter("@IS_ASCENDING", model.IS_ASCENDING), new SqlParameter("@ID", model.ID), }; int rows = DbHelperSQL.ExecuteSql(UserID, strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
protected void Page_Init(object sender, EventArgs e) { this.lblJavascript.Text = String.Empty; if (Session[rpexcel.strSessionKeyMyReport] != null) { myReport = (CUSTOMRP.Model.REPORT)Session[rpexcel.strSessionKeyMyReport]; } if (myReport == null) { string querystring = Request.UrlReferrer.Query; if (!String.IsNullOrEmpty(querystring)) { string[] queries = querystring.Substring(1).Split('&'); foreach (string query in queries) { if (query.StartsWith("id")) { int id = Int32.Parse(query.Split('=')[1]); myReport = WebHelper.bllReport.GetModel(me.ID, id); if (myReport == null) { this.lblJavascript.Text = String.Format("<script type=\"text/javascript\">alert{\"{0}\"};window.close();</script>", AppNum.ErrorMsg.parameter_error); HttpContext.Current.ApplicationInstance.CompleteRequest(); return; } Session[rpexcel.strSessionKeyMyReport] = myReport; } } } } if (Session[rpexcel.strSessionKeyColumnInfo] != null) { columninfos = (List <CUSTOMRP.Model.ColumnInfo>)Session[rpexcel.strSessionKeyColumnInfo]; } if (Session[rpexcel.strSessionKeyReportParameterContainer] != null) { container = (ReportParameterContainer)Session[rpexcel.strSessionKeyReportParameterContainer]; //v1.0.0 - Cheong - 2015/07/13 - Patch SEQ if (myReport != null) { foreach (CUSTOMRP.Model.REPORTCOLUMN rc in myReport.ReportColumns) { rc.SEQ = -1; } CUSTOMRP.Model.REPORTCOLUMN l_ReportColumn = null; int contentSEQ = 1; foreach (Fields f in container.contentColumn) { l_ReportColumn = myReport.ReportColumns.Where(x => x.COLUMNFUNC == 1 && x.DisplayName == f.DisplayName).FirstOrDefault(); if (l_ReportColumn != null) { l_ReportColumn.SEQ = contentSEQ; contentSEQ++; } } //v1.0.0 - Cheong - 2016/03/23 - Preserve order on criteria and group columns int criteriaSEQ = 1; foreach (Fields f in container.criteriaColumn) { l_ReportColumn = myReport.ReportColumns.Where(x => x.COLUMNFUNC == 2 && x.DisplayName == f.DisplayName).FirstOrDefault(); if (l_ReportColumn != null) { l_ReportColumn.SEQ = criteriaSEQ; criteriaSEQ++; } } int sortonSEQ = 1; foreach (Fields f in container.sortonColumn) { l_ReportColumn = myReport.ReportColumns.Where(x => x.COLUMNFUNC == 3 && x.DisplayName == f.DisplayName).FirstOrDefault(); if (l_ReportColumn != null) { l_ReportColumn.SEQ = sortonSEQ; sortonSEQ++; } } //v1.0.0 - Cheong - 2016/03/23 - Preserve order on criteria and group columns int groupSEQ = 1; foreach (Fields f in container.groupColumn) { l_ReportColumn = myReport.ReportColumns.Where(x => x.COLUMNFUNC == 6 && x.DisplayName == f.DisplayName).FirstOrDefault(); if (l_ReportColumn != null) { l_ReportColumn.SEQ = groupSEQ; groupSEQ++; } } myReport.ReportColumns.OrderBy(x => x.COLUMNFUNC).ThenBy(x => x.SEQ); } } else if (!ReportParameterContainer.LoadReport(myReport.ID, me, out container, out columninfos)) // try load default from table { this.lblJavascript.Text = String.Format("<script type=\"text/javascript\">alert{\"{0}\"};window.close();</script>", AppNum.ErrorMsg.parameter_error); HttpContext.Current.ApplicationInstance.CompleteRequest(); return; } }
protected void btnSave_Click(object sender, EventArgs e) { string containername = this.btnSave.UniqueID.Replace(this.btnSave.ID, ""); #region update setting to myReport if (!String.IsNullOrWhiteSpace(Request.Params[this.ddl_print_orientation.UniqueID])) { myReport.PRINT_ORIENTATION = Convert.ToInt32(Request.Params[this.ddl_print_orientation.UniqueID]); } if (!String.IsNullOrWhiteSpace(Request.Params[this.txt_print_fittopage.UniqueID])) { myReport.PRINT_FITTOPAGE = Convert.ToInt16(Request.Params[this.txt_print_fittopage.UniqueID]); } myReport.REPORT_HEADER = ProcessMultilineText(Request.Params[this.txtReportHeader.UniqueID]); myReport.REPORT_FOOTER = ProcessMultilineText(Request.Params[this.txtReportFooter.UniqueID]); myReport.SUBCOUNT_LABEL = Request.Params[this.txtSubCntLbl.UniqueID]; myReport.FONT_FAMILY = Request.Params[this.txtFontFamily.UniqueID]; myReport.PDF_GRID_LINES = Request.Params.AllKeys.Contains(this.chkPdfGridLines.UniqueID) ? (Request.Params[this.chkPdfGridLines.UniqueID].Equals("on") ? true : false) : false; CUSTOMRP.Model.REPORTCOLUMN[] contents = myReport.ReportColumns.Where(x => x.ColumnFunc == CUSTOMRP.Model.REPORTCOLUMN.ColumnFuncs.Content).ToArray(); string target; var regexColorCode = new System.Text.RegularExpressions.Regex("^#[a-fA-F0-9]{6}$"); for (int i = 0; i < contents.Length; i++) { if (!String.IsNullOrWhiteSpace(Request.Params[String.Format("{0}hid_colname_{1}", containername, i)])) { target = Request.Params[String.Format("{0}hid_colname_{1}", containername, i)].Trim(); int target_coltype; if (!Int32.TryParse(Request.Params[String.Format("{0}hid_coltype_{1}", containername, i)].Trim(), out target_coltype)) { target_coltype = 1; } CUSTOMRP.Model.REPORTCOLUMN content = myReport.ReportColumns.Where(x => (x.ColumnFunc == CUSTOMRP.Model.REPORTCOLUMN.ColumnFuncs.Content) && ((target_coltype == 1 ? x.COLUMNNAME : x.DISPLAYNAME) == target)).FirstOrDefault(); if (content != null) { if (!String.IsNullOrWhiteSpace(Request.Params[String.Format("{0}txt_displayname_{1}", containername, i)])) { content.DISPLAYNAME = Request.Params[String.Format("{0}txt_displayname_{1}", containername, i)].Trim(); } //// v1.8.8 Alex 2018.10.11 - Add Sort Order - Begin //string isAscendingStr = Request.Params[String.Format("{0}select_sortorder_{1}", containername, i)]; //content.IS_ASCENDING = Convert.ToBoolean(int.Parse(isAscendingStr)); //// v1.8.8 Alex 2018.10.11 - Add Sort Order - End //// v1.8.8 Alex 2018.10.12 - Add Sort Sequence - Begin //if (!String.IsNullOrWhiteSpace(Request.Params[String.Format("{0}txt_sortsequence_{1}", containername, i)])) //{ // try // { // content.SORT_SEQUENCE = int.Parse(Request.Params[String.Format("{0}txt_sortsequence_{1}", containername, i)]); // } // catch // { // this.lblJavascript.Text = String.Format("<script type=\"text/javascript\">alert('{0}');</script>", String.Format("Excel sort sequence must be an integer.", 255 - NPOIHelper.TrailingBlank)); // return; // } //} //else //{ // this.lblJavascript.Text = String.Format("<script type=\"text/javascript\">alert('{0}');</script>", String.Format("Excel sort sequence cannot be empty.", 255 - NPOIHelper.TrailingBlank)); // return; //} //// v1.8.8 Alex 2018.10.12 - Add Sort Sequence - End if (!String.IsNullOrWhiteSpace(Request.Params[String.Format("{0}txt_width_{1}", containername, i)])) { if ("auto".Equals((Request.Params[String.Format("{0}txt_width_{1}", containername, i)] ?? String.Empty).ToLower())) { content.EXCEL_COLWIDTH = -1; } else { try { content.EXCEL_COLWIDTH = Decimal.Parse(Request.Params[String.Format("{0}txt_width_{1}", containername, i)]); } catch { this.lblJavascript.Text = String.Format("<script type=\"text/javascript\">alert('{0}');</script>", String.Format("Excel column width must be less than or equal {0} characters.", 255 - NPOIHelper.TrailingBlank)); return; } } } string backgroundColorStr = Request.Params[String.Format("{0}txt_backgroundColor_{1}", containername, i)]; if (!String.IsNullOrEmpty(backgroundColorStr)) { if (regexColorCode.IsMatch(backgroundColorStr.Trim())) { content.BACKGROUND_COLOR = backgroundColorStr; } else { this.lblJavascript.Text = String.Format("<script type=\"text/javascript\">alert('{0}');</script>", "Invalid color code '" + backgroundColorStr + "'."); return; } } else { content.BACKGROUND_COLOR = ""; }; string fontColorStr = Request.Params[String.Format("{0}txt_fontColor_{1}", containername, i)]; if (!String.IsNullOrEmpty(fontColorStr)) { if (regexColorCode.IsMatch(fontColorStr.Trim())) { content.FONT_COLOR = fontColorStr; } else { this.lblJavascript.Text = String.Format("<script type=\"text/javascript\">alert('{0}');</script>", "Invalid color code '" + fontColorStr + "'."); return; } } else { content.FONT_COLOR = ""; }; string fontSizeStr = Request.Params[String.Format("{0}txt_fontSize_{1}", containername, i)]; if (!String.IsNullOrEmpty(fontSizeStr)) { try { content.FONT_SIZE = int.Parse(fontSizeStr); } catch { this.lblJavascript.Text = String.Format("<script type=\"text/javascript\">alert('{0}');</script>", "Invalid font size '" + fontSizeStr + "'."); return; } } else { content.FONT_SIZE = null; }; string fontBoldStr = Request.Params[String.Format("{0}chk_fontBold_{1}", containername, i)]; if (!String.IsNullOrEmpty(fontBoldStr)) { content.FONT_BOLD = true; } else { content.FONT_BOLD = false; }; string fontItalicStr = Request.Params[String.Format("{0}chk_fontItalic_{1}", containername, i)]; if (!String.IsNullOrEmpty(fontItalicStr)) { content.FONT_ITALIC = true; } else { content.FONT_ITALIC = false; }; string horizontalTextAlignStr = Request.Params[String.Format("{0}select_horizontalTextAlign_{1}", containername, i)]; content.HORIZONTAL_TEXT_ALIGN = int.Parse(horizontalTextAlignStr); string cellFormatStr = Request.Params[String.Format("{0}txt_cellFormat_{1}", containername, i)]; content.CELL_FORMAT = cellFormatStr; } } } #endregion update setting to myReport // v1.8.8 Alex 2018.10.22 - Group Indent Column Width - Begin for (int i = 0; i < myReport.ReportColumns.Where(x => x.ColumnFunc == CUSTOMRP.Model.REPORTCOLUMN.ColumnFuncs.Group).Count(); i++) { if (!String.IsNullOrWhiteSpace(Request.Params[String.Format("{0}hid_colname_grp_{1}", containername, i)])) { target = Request.Params[String.Format("{0}hid_colname_grp_{1}", containername, i)].Substring(8); int target_coltype; if (!Int32.TryParse(Request.Params[String.Format("{0}hid_coltype_grp_{1}", containername, i)].Trim(), out target_coltype)) { target_coltype = 1; } CUSTOMRP.Model.REPORTCOLUMN content_group = myReport.ReportColumns.Where(x => (x.ColumnFunc == CUSTOMRP.Model.REPORTCOLUMN.ColumnFuncs.Group) && ((target_coltype == 1 ? x.COLUMNNAME : x.DISPLAYNAME) == target)).FirstOrDefault(); if (!String.IsNullOrWhiteSpace(Request.Params[String.Format("{0}txt_width_grp_{1}", containername, i)])) { if ("auto".Equals((Request.Params[String.Format("{0}txt_width_grp_{1}", containername, i)] ?? String.Empty).ToLower())) { content_group.EXCEL_COLWIDTH = -1; } else { try { content_group.EXCEL_COLWIDTH = Decimal.Parse(Request.Params[String.Format("{0}txt_width_grp_{1}", containername, i)]); } catch { this.lblJavascript.Text = String.Format("<script type=\"text/javascript\">alert('{0}');</script>", String.Format("Excel column width must be less than or equal {0} characters.", 255 - NPOIHelper.TrailingBlank)); return; } } } } } // v1.8.8 Alex 2018.10.22 - Group Indent Column Width - End #region Update container content for displayname for (int i = 0; i < container.contentColumn.Length; i++) { if (!String.IsNullOrWhiteSpace(Request.Params[String.Format("{0}hid_colname_{1}", containername, i)])) { target = Request.Params[String.Format("{0}hid_colname_{1}", containername, i)].Trim(); int target_coltype; if (!Int32.TryParse(Request.Params[String.Format("{0}hid_coltype_{1}", containername, i)].Trim(), out target_coltype)) { target_coltype = 1; } Fields content = container.contentColumn.Where(x => ((target_coltype == 1 ? x.ColumnName : x.DisplayName) == target)).FirstOrDefault(); if (content != null) { if (!String.IsNullOrWhiteSpace(Request.Params[String.Format("{0}txt_displayname_{1}", containername, i)])) { content.DisplayName = Request.Params[String.Format("{0}txt_displayname_{1}", containername, i)].Trim(); } } } } #endregion Session[rpexcel.strSessionKeyReportParameterContainer] = container; Session[rpexcel.strSessionKeyMyReport] = myReport; this.lblJavascript.Text = "<script type=\"text/javascript\">closeMe();</script>"; }