コード例 #1
0
        //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);
            }
        }