//protected override void Render(System.Web.UI.HtmlTextWriter writer) //{ // Page.ClientScript.RegisterForEventValidation(this.ddlgroupcalcol.UniqueID, "4"); // base.Render(writer); //} //保存 protected void lbtnSave_Click(object sender, EventArgs e) { string displaytype = ddlDisplayType.SelectedValue; if (!string.IsNullOrEmpty(hidTemplateID.Value)) { bool iddel = true; bool addrow = true; if (hidopertype.Value == "edit")//如果是更新,先删除之前的配置信息 { iddel = dc.DeleteTemInfoByTemplateID(hidTemplateID.Value); } //保存报表展现类型 bool adddisplaytype = true; adddisplaytype = dc.UpdateDisplayTypeByTemplateID(Guid.Parse(hidTemplateID.Value), displaytype); #region 列配置与排序配置保存 bool addcolumn = true; //标识列配置是否添加成功 bool addsort = true; //标识排序配置是否添加成功 bool addgrid = true; //标识田字型配置是否添加成功 bool addcal = true; //计算列 string ColumnConfigContent = hidColumnContent.Value.TrimEnd(';'); //列配置内容 string SortContent = hidSortContent.Value.TrimEnd(';'); //排序配置内容 string[] ColumnList = ColumnConfigContent.Split(';'); BS_TEMPLATE_COLUMNSBLL btcbll = new BS_TEMPLATE_COLUMNSBLL(); double addm = 10; foreach (string cl in ColumnList)//添加列配置到数据库 { addm++; string[] ColumnInfoList = cl.Split('|'); BS_TEMPLATE_COLUMNS btc = new BS_TEMPLATE_COLUMNS(); btc.TemplateID = Guid.Parse(hidTemplateID.Value); btc.ColumnName = ColumnInfoList[0]; btc.Visiable = bool.Parse(ColumnInfoList[1]); btc.DisplayName = ColumnInfoList[2]; if (!string.IsNullOrEmpty(ColumnInfoList[3])) { btc.Sequence = decimal.Parse(ColumnInfoList[3]); } else { btc.Sequence = -1; } btc.MergeColumnName = ColumnInfoList[4]; btc.ColumnDataType = ColumnInfoList[5]; btc.Created = DateTime.Now.AddMilliseconds(addm);; btc.Modified = DateTime.Now; btc.Author = BaseWebPart.GetCurrentUserLoginId(); btc.Editor = BaseWebPart.GetCurrentUserLoginId(); addcolumn = btcbll.Add(btc); } //添加排序 if (!string.IsNullOrEmpty(SortContent)) { BS_TEMPLATE_SORTBLL btsbll = new BS_TEMPLATE_SORTBLL(); string[] sortlist = SortContent.Split(';'); addm = 10; foreach (string sort in sortlist) { addm++; string[] sortinfo = sort.Split('|'); BS_TEMPLATE_SORT model = new BS_TEMPLATE_SORT(); model.TemplateID = Guid.Parse(hidTemplateID.Value); model.SortColumn = sortinfo[0]; model.Type = (sortinfo[1] == "升序" ? "asc" : "desc"); model.Sequence = decimal.Parse(sortinfo[2]); model.Created = DateTime.Now.AddMilliseconds(addm);; model.Modified = DateTime.Now; model.Author = BaseWebPart.GetCurrentUserLoginId(); model.Editor = BaseWebPart.GetCurrentUserLoginId(); addsort = btsbll.Add(model); } } #endregion if (displaytype == "GRID")//田字型 { string columnsize = txtColumnSize.Text.Trim(); addgrid = dc.UpdatePageSizeByTemplateID(Guid.Parse(hidTemplateID.Value), decimal.Parse(columnsize)); } #region 列配置 if (displaytype == "COLUMN" || displaytype == "ROW")//列配置 { var calcontent = hidCalContent.Value.TrimEnd(';'); if (!string.IsNullOrEmpty(calcontent)) { string[] CalList = calcontent.Split(';'); BS_COMPUTEBLL combll = new BS_COMPUTEBLL(); addm = 10; foreach (string cl in CalList)//添加计算列到数据库 { addm++; string[] CalInfoList = cl.Split('|'); BS_COMPUTE btc = new BS_COMPUTE(); btc.TemplateID = Guid.Parse(hidTemplateID.Value); if (hiddbtype.Value.Trim() == "proc") { btc.ComputeColumn = CalInfoList[0]; } else { btc.ComputeColumn = CalInfoList[0]; } btc.DisplayName = CalInfoList[1]; btc.MergeColumnName = CalInfoList[2]; if (!string.IsNullOrEmpty(CalInfoList[3])) { btc.Sequence = decimal.Parse(CalInfoList[3]); } else { btc.Sequence = -1; } btc.DecimalCount = Convert.ToInt32(CalInfoList[4]); btc.Created = DateTime.Now.AddMilliseconds(addm);; btc.Modified = DateTime.Now; btc.Author = BaseWebPart.GetCurrentUserLoginId(); btc.Editor = BaseWebPart.GetCurrentUserLoginId(); addcal = combll.Add(btc); } } } #endregion if (displaytype == "ROW")//行汇总 { string rowcontent = hidgroupbycontent.Value.Trim().TrimEnd('$'); if (!string.IsNullOrEmpty(rowcontent)) { string[] gblist = rowcontent.Split('$'); BS_GROUPBYBLL gbll = new BS_GROUPBYBLL(); addm = 10; foreach (string gbinfo in gblist) { addm++; string[] CalInfoList = gbinfo.Split('|'); BS_GROUPBY btc = new BS_GROUPBY(); btc.TemplateID = Guid.Parse(hidTemplateID.Value); btc.Columns = CalInfoList[0].TrimEnd(','); btc.Location = CalInfoList[2]; btc.ComputeColumn = CalInfoList[1]; btc.Sequence = 0; btc.SQL = ""; btc.Created = DateTime.Now.AddMilliseconds(addm); btc.Modified = DateTime.Now; btc.Author = BaseWebPart.GetCurrentUserLoginId(); btc.Editor = BaseWebPart.GetCurrentUserLoginId(); addrow = gbll.Add(btc); } } } if (addcolumn && addsort && addgrid && addcal && adddisplaytype && iddel && addrow) { string TemplateID = hidTemplateID.Value; string SourceID = hidsourceid.Value; if (!string.IsNullOrEmpty(TemplateID) && !string.IsNullOrEmpty(SourceID)) { BusinessSearchComponent bsbll = new BusinessSearchComponent(); bsbll.RemoveTemplateByGuid(TemplateID); string edit = string.Empty; if (!string.IsNullOrEmpty(Page.Request.QueryString["type"])) { edit = "&type=edit"; } Page.Response.Redirect("QueryConfig.aspx?templateID=" + TemplateID + "&sourceID=" + SourceID + edit); } //ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "subsuc", "layer.alert('展示配置成功!');", true); } } else { ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "suberror", "layer.alert('未获取到模板编号!');", true); } }