protected void bt_Add_ColumnGroup_Click(object sender, EventArgs e)
    {
        SaveGrid_ColumnGroup();

        Rpt_ReportBLL report = new Rpt_ReportBLL((Guid)ViewState["ID"]);
        IList<Rpt_ReportColumnGroups> columns = report.GetColumnGroups();

        int maxsortid = 0;
        if (columns.Count > 0) maxsortid = columns.Max(p => p.GroupSortID);

        foreach (ListItem item in cbxl_Fields.Items)
        {
            if (item.Selected && columns.FirstOrDefault(p => p.DataSetField == new Guid(item.Value)) == null)
            {
                maxsortid++;

                Rpt_ReportColumnGroupsBLL column = new Rpt_ReportColumnGroupsBLL();

                column.Model.Report = (Guid)ViewState["ID"];
                column.Model.DataSetField = new Guid(item.Value);
                column.Model.DisplayName = item.Text;
                column.Model.GroupSortID = maxsortid;
                column.Model.AddSummary = "N";
                column.Add();
            }
        }
        BindDataSetFields();
        BindGrid_ColumnGroup();
    }
    private void BindDataSetFields()
    {
        Rpt_ReportBLL             report = new Rpt_ReportBLL((Guid)ViewState["ID"]);
        IList <Rpt_DataSetFields> fields = new Rpt_DataSetBLL((Guid)ViewState["DataSet"]).GetFields();

        foreach (Rpt_ReportColumnGroups col in report.GetColumnGroups())
        {
            Rpt_DataSetFields f = fields.FirstOrDefault(p => p.ID == col.DataSetField);
            if (f != null)
            {
                fields.Remove(f);
            }
        }

        foreach (Rpt_ReportRowGroups col in report.GetRowGroups())
        {
            Rpt_DataSetFields f = fields.FirstOrDefault(p => p.ID == col.DataSetField);
            if (f != null)
            {
                fields.Remove(f);
            }
        }

        foreach (Rpt_ReportValueGroups col in report.GetValueGroups())
        {
            Rpt_DataSetFields f = fields.FirstOrDefault(p => p.ID == col.DataSetField);
            if (f != null)
            {
                fields.Remove(f);
            }
        }

        cbxl_Fields.DataSource = fields;
        cbxl_Fields.DataBind();
    }
    protected void bt_Add_ColumnGroup_Click(object sender, EventArgs e)
    {
        SaveGrid_ColumnGroup();

        Rpt_ReportBLL report = new Rpt_ReportBLL((Guid)ViewState["ID"]);
        IList <Rpt_ReportColumnGroups> columns = report.GetColumnGroups();

        int maxsortid = 0;

        if (columns.Count > 0)
        {
            maxsortid = columns.Max(p => p.GroupSortID);
        }

        foreach (ListItem item in cbxl_Fields.Items)
        {
            if (item.Selected && columns.FirstOrDefault(p => p.DataSetField == new Guid(item.Value)) == null)
            {
                maxsortid++;

                Rpt_ReportColumnGroupsBLL column = new Rpt_ReportColumnGroupsBLL();

                column.Model.Report       = (Guid)ViewState["ID"];
                column.Model.DataSetField = new Guid(item.Value);
                column.Model.DisplayName  = item.Text;
                column.Model.GroupSortID  = maxsortid;
                column.Model.AddSummary   = "N";
                column.Add();
            }
        }
        BindDataSetFields();
        BindGrid_ColumnGroup();
    }
 private void BindGrid_ColumnGroup()
 {
     Rpt_ReportBLL report = new Rpt_ReportBLL((Guid)ViewState["ID"]);
     gv_List_ColumnGroup.BindGrid(report.GetColumnGroups());
 }
    private void BindDataSetFields()
    {
        Rpt_ReportBLL report = new Rpt_ReportBLL((Guid)ViewState["ID"]);
        IList<Rpt_DataSetFields> fields = new Rpt_DataSetBLL((Guid)ViewState["DataSet"]).GetFields();

        foreach (Rpt_ReportColumnGroups col in report.GetColumnGroups())
        {
            Rpt_DataSetFields f = fields.FirstOrDefault(p => p.ID == col.DataSetField);
            if (f != null) fields.Remove(f);
        }

        foreach (Rpt_ReportRowGroups col in report.GetRowGroups())
        {
            Rpt_DataSetFields f = fields.FirstOrDefault(p => p.ID == col.DataSetField);
            if (f != null) fields.Remove(f);
        }

        foreach (Rpt_ReportValueGroups col in report.GetValueGroups())
        {
            Rpt_DataSetFields f = fields.FirstOrDefault(p => p.ID == col.DataSetField);
            if (f != null) fields.Remove(f);
        }

        cbxl_Fields.DataSource = fields;
        cbxl_Fields.DataBind();
    }
    private void BindGrid_ColumnGroup()
    {
        Rpt_ReportBLL report = new Rpt_ReportBLL((Guid)ViewState["ID"]);

        gv_List_ColumnGroup.BindGrid(report.GetColumnGroups());
    }