protected void btnAdd_Click(object sender, EventArgs e) { try { var model = new SysReportDisplayField(); model.DisplayFieldId = this.DataHelper.GetNextIdentity_Int(); model.ReportId = this.__Id; var _MaxOrderIndex = this.DataHelper.Where <SysReportDisplayField>(p => p.ReportId == this.__Id).OrderByDescending(p => p.OrderIndex).FirstOrDefault(); if (_MaxOrderIndex == null) { model.OrderIndex = 1; } else { model.OrderIndex = _MaxOrderIndex.OrderIndex + 1; } model.Aliases = this.ccDisplayField.SelectedValue; model.DisplayText = this.ccDisplayField.SelectedText; this.DataHelper.Insert(model); InitGrid(); this.AjaxAlertAndEnableButton(string.Empty); } catch (Exception ex) { this.AjaxAlertAndEnableButton(ex); } }
private void InitData() { var model = this.DataHelper.FindById <SysReport>(this.__Id); this.tcTopN.SetValue(model.TopN); this.ccIsGraph.SetValue(model.IsGraph); if (model.IsGroup == true) { //只有分组才能配置图形 this.divIsGraph.Visible = true; //分组的话分组字段和汇总字段都可以用来排序 var _GroupFields = this.DataHelper.Where <SysReportGroupField>(p => p.ReportId == this.__Id); var _SumFields = this.DataHelper.Where <SysReportSumFiled>(p => p.ReportId == this.__Id); _GroupFields.ForEach(p => { this.ccDisplayField.Items.Add(new ComboItem() { Text = p.QueryFieldDisplayText, Value = p.QueryFieldAliases, }); }); _SumFields.ForEach(p => { this.ccDisplayField.Items.Add(new ComboItem() { Text = p.DisplayText, Value = p.Aliases, }); }); } else { //不分组一定要把图形配置去掉 if (model.IsGraph == true) { model.IsGraph = false; this.DataHelper.UpdatePartial(model, p => new { p.IsGraph }); } //不分组的话只有查询字段可以用来排序 var _QueryFields = this.DataHelper.Where <SysReportQueryField>(p => p.ReportId == this.__Id); _QueryFields.ForEach(p => { this.ccDisplayField.Items.Add(new ComboItem() { Text = p.DisplayText, Value = p.Aliases, }); }); } //删除垃圾字段 this.DataHelper.Where <SysReportDisplayField>(p => p.ReportId == this.__Id) .ForEach(p => { if (this.ccDisplayField.Items.FirstOrDefault(q => q.Value == p.Aliases) == null) { this.DataHelper.Delete(p); } }); //如果是第一次配置到这里,默认把能显示的字段全部默认显示 if (this.DataHelper.Where <SysReportDisplayField>(p => p.ReportId == this.__Id).Count == 0) { var _Index = 1; foreach (var item in this.ccDisplayField.Items) { var _ReportDisplayField = new SysReportDisplayField(); _ReportDisplayField.DisplayFieldId = this.DataHelper.GetNextIdentity_Int(); _ReportDisplayField.ReportId = this.__Id; _ReportDisplayField.OrderIndex = _Index; _Index++; _ReportDisplayField.Aliases = item.Value; _ReportDisplayField.DisplayText = item.Text; this.DataHelper.Insert(_ReportDisplayField); } } InitGrid(); }