Wednesday 13 February 2013

Gridview custmized





Design file
 ==========
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ReportDashboard.ascx.cs"
    Inherits="Citizen_Services_Portal.UCs.ReportDashboard" %>
<%@ Register Src="NewCustomMessage.ascx" TagName="NewCustomMessage" TagPrefix="uc2" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<%@ Register Src="ExcelExport.ascx" TagName="ExcelExport" TagPrefix="uc1" %>
<%@ Register Src="PDFExport.ascx" TagName="PDFExport" TagPrefix="uc3" %>
<%--<div class="cssbox2" style="width: 100%; height: 175px;">
    <div class="cssbox2_head">
        <h2>
            Today's&nbsp;Dashboard</h2>
    </div>
    <div class="cssbox2_body" style="width: 100%; height: 100px;">
        <table id="tbl" cellspacing="0px" cellpadding="0px" align="center">
            <tr>
                <td>
                    <br />
                    <asp:GridView ID="gvLoginDetails" runat="server" Visible="True" EnableViewState="False"
                        HeaderStyle-Wrap="False" Font-Bold="True" Font-Size="Large" ForeColor="#666666"
                        Width="550px">
                        <Columns>
                        </Columns>
                        <HeaderStyle CssClass="reportdashboardhd" />
                        <RowStyle CssClass="reportdashboardbd" HorizontalAlign="Center" VerticalAlign="Middle" />
                    </asp:GridView>
                </td>
            </tr>
            <tr>
                <td>
                    <br />
                    <asp:Label ID="lblHeadCommonBal" runat="server" Text="*Note:ACTIVE CSC's denotes CSC's which atleast one transaction happend and ACTIVE USERS denotes who logged in to CSC portal"
                        CssClass="heading4hlbl"></asp:Label>
                </td>
            </tr>
        </table>
    </div>
</div>--%>
<%--<asp:UpdatePanel ID="UpdatePanel1" runat="server" >
    <ContentTemplate>--%>
<table align="center">
    <tr>
        <td>
            <uc2:NewCustomMessage ID="NewCustomMessage1" runat="server" />
            <fieldset>
                <legend>Choose Dates&nbsp;<span style="color: Red; font-weight: lighter">* </span>
                </legend>
                <table align="center">
                    <tr>
                        <td>
                            <label>
                                From&nbsp;</label><br />
                            <asp:TextBox ID="txtFromDate" runat="server" CausesValidation="True" ValidationGroup="vlestatus"></asp:TextBox>
                            <cc1:CalendarExtender ID="txtFormDate_CalendarExtender" runat="server" Enabled="True"
                                TargetControlID="txtFromDate" Format="dd/MM/yyyy" CssClass="cal_Theme1">
                            </cc1:CalendarExtender>
                            <label>
                                <span style="color: Red; font-weight: lighter">
                                    <asp:RegularExpressionValidator ID="Regdate" runat="server" ControlToValidate="txtFromDate"
                                        CssClass="validator" Display="None" ErrorMessage="Please Enter Valid Date" ForeColor="Black"
                                        ValidationExpression="(0[1-9]|[12][0-9]|3[01])[//.](0[1-9]|1[012])[//.](19|20)\d\d"
                                        ValidationGroup="vlestatus"></asp:RegularExpressionValidator>
                                    <cc1:ValidatorCalloutExtender ID="ValidatorCalloutExtender8" runat="server" Enabled="true"
                                        HighlightCssClass="validatorCalloutHighlight" TargetControlID="Regdate">
                                    </cc1:ValidatorCalloutExtender>
                                    <asp:RequiredFieldValidator ID="rfvfrmdate" runat="server" ControlToValidate="txtFromDate"
                                        CssClass="validator" Display="None" ErrorMessage="Please enter From Date" ForeColor="Black"
                                        ValidationGroup="vlestatus"></asp:RequiredFieldValidator>
                                    <cc1:ValidatorCalloutExtender ID="vceleasedate" runat="server" Enabled="true" HighlightCssClass="validatorCalloutHighlight"
                                        TargetControlID="rfvfrmdate">
                                    </cc1:ValidatorCalloutExtender>
                                </span>
                            </label>
                        </td>
                        <td>
                            <label>
                                To</label><br />
                            <asp:TextBox ID="txtToDate" runat="server" CausesValidation="True" ValidationGroup="vlestatus"></asp:TextBox>
                            <cc1:CalendarExtender ID="txtToDate_CalendarExtender" runat="server" Enabled="True"
                                TargetControlID="txtToDate" Format="dd/MM/yyyy" CssClass="cal_Theme1">
                            </cc1:CalendarExtender>
                            <asp:RequiredFieldValidator ID="rfvtodate" runat="server" ControlToValidate="txtToDate"
                                CssClass="validator" Display="None" ErrorMessage="Please enter ToDate" ForeColor="Black"
                                ValidationGroup="vlestatus"></asp:RequiredFieldValidator>
                            <cc1:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" Enabled="true"
                                HighlightCssClass="validatorCalloutHighlight" TargetControlID="rfvtodate">
                            </cc1:ValidatorCalloutExtender>
                            <asp:RegularExpressionValidator ID="revtodate" runat="server" ControlToValidate="txtToDate"
                                CssClass="validator" Display="None" ErrorMessage="Please Enter Valid Date " ForeColor="Black"
                                ValidationExpression="(0[1-9]|[12][0-9]|3[01])[//.](0[1-9]|1[012])[//.](19|20)\d\d"
                                ValidationGroup="vlestatus"></asp:RegularExpressionValidator>
                            <cc1:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" Enabled="true"
                                HighlightCssClass="validatorCalloutHighlight" TargetControlID="revtodate">
                            </cc1:ValidatorCalloutExtender>
                        </td>
                    </tr>
                </table>
            </fieldset>
        </td>
    </tr>
    <tr>
        <td>
            <asp:Button ID="btnSubmit" runat="server" CausesValidation="true" class="button_inside_border_blue"
                Height="28px" Text="Show Report" ValidationGroup="vlestatus" OnClick="btnSubmit_Click" />
        </td>
    </tr>
</table>
<table align="center">
    <tr>
        <td>
            <div style="width: 700px; overflow: auto;">
                <asp:Panel ID="pnlGrid" runat="server" Visible="false">
                    <div id="SelectorToPrintReport">
                        <asp:Label ID="lblHeaderTXtTopup" Text="District wise summary report" Visible="false"
                            CssClass="heading4h2" runat="server" />
                        <asp:GridView ID="grdKhammam" runat="server" Visible="True" HeaderStyle-Wrap="False"
                            ForeColor="#666666" Width="700px" AutoGenerateColumns="false" DataKeyNames="SERVICEID"
                            OnRowCreated="grdKhammam_RowCreated" OnRowCommand="grdKhammam_RowCommand" OnRowDataBound="grdKhammam_RowDataBound">
                            <Columns>
                                <asp:TemplateField ItemStyle-Width="9">
                                    <ItemTemplate>
                                        <asp:ImageButton ID="ImgBtn" ImageUrl="~/Images/plus.png" CommandName="Expand" ToolTip="View Services"
                                            runat="server" />
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:BoundField DataField="SERVICENAME" HeaderText="" ItemStyle-HorizontalAlign="Left" />
                                <asp:BoundField DataField="KHAMMAMTxnCount" HeaderText="Txns" ItemStyle-HorizontalAlign="Right" />
                                <asp:BoundField DataField="KHAMMAMTxnAmount" HeaderText="Txn Amount" ItemStyle-HorizontalAlign="Right" />
                                <asp:BoundField DataField="KRISHNATxnCount" HeaderText="Txns" ItemStyle-HorizontalAlign="Right" />
                                <asp:BoundField DataField="KRISHNATxnAmount" HeaderText="Txn Amount" ItemStyle-HorizontalAlign="Right" />
                                <asp:BoundField DataField="WESTGODAVARITxnCount" HeaderText="Txns" ItemStyle-HorizontalAlign="Right" />
                                <asp:BoundField DataField="WESTGODAVARITxnAmount" HeaderText="Txn Amount" ItemStyle-HorizontalAlign="Right" />
                                <asp:BoundField DataField="TOTALTXNCOUNT" HeaderText="Txns" ItemStyle-HorizontalAlign="Right" />
                                <asp:BoundField DataField="TOTALTXNAMOUNT" HeaderText="Txn Amount" ItemStyle-HorizontalAlign="Right" />
                                <asp:TemplateField>
                                    <ItemTemplate>
                                        <asp:PlaceHolder ID="phCenterDetails" runat="server" Visible="false">
                                            <tr style="width: auto">
                                                <td width="7">
                                                </td>
                                                <td colspan="9">
                                                    <asp:UpdatePanel runat="server" ID="ChildControl" UpdateMode="Conditional">
                                                        <ContentTemplate>
                                                            <asp:GridView ID="grdCenterDetails" AutoGenerateColumns="false" runat="server" HeaderStyle-Wrap="False"
                                                                ForeColor="#666666" Width="678px" OnRowCreated="grdCenterDetails_RowCreated">
                                                                <Columns>
                                                                    <asp:BoundField DataField="SERVICENAME" HeaderText="" ItemStyle-HorizontalAlign="Left" />
                                                                    <asp:BoundField DataField="KHAMMAMTxnCount" HeaderText="Txns" ItemStyle-HorizontalAlign="Right" />
                                                                    <asp:BoundField DataField="KHAMMAMTxnAmount" HeaderText="Txn Amount" ItemStyle-HorizontalAlign="Right" />
                                                                    <asp:BoundField DataField="KRISHNATxnCount" HeaderText="Txns" ItemStyle-HorizontalAlign="Right" />
                                                                    <asp:BoundField DataField="KRISHNATxnAmount" HeaderText="Txn Amount" ItemStyle-HorizontalAlign="Right" />
                                                                    <asp:BoundField DataField="WESTGODAVARITxnCount" HeaderText="Txns" ItemStyle-HorizontalAlign="Right" />
                                                                    <asp:BoundField DataField="WESTGODAVARITxnAmount" HeaderText="Txn Amount" ItemStyle-HorizontalAlign="Right" />
                                                                    <asp:BoundField DataField="TOTALTXNCOUNT" HeaderText="Txns" ItemStyle-HorizontalAlign="Right" />
                                                                    <asp:BoundField DataField="TOTALTXNAMOUNT" HeaderText="Txn Amount" ItemStyle-HorizontalAlign="Right" />
                                                                </Columns>
                                                                <HeaderStyle CssClass="ob_gH" Font-Bold="false" Wrap="false" />
                                                                <RowStyle CssClass="ob_gR" />
                                                                <AlternatingRowStyle CssClass="ob_gRA" Width="20px" />
                                                                <FooterStyle CssClass="ob_footer" />
                                                            </asp:GridView>
                                                        </ContentTemplate>
                                                        <Triggers>
                                                            <asp:PostBackTrigger ControlID="grdCenterDetails" />
                                                        </Triggers>
                                                    </asp:UpdatePanel>
                                        </asp:PlaceHolder>
                                    </ItemTemplate>
                                </asp:TemplateField>
                            </Columns>
                            <HeaderStyle CssClass="ob_gH" Font-Bold="false" Wrap="false" />
                            <RowStyle CssClass="ob_gR" />
                            <AlternatingRowStyle CssClass="ob_gRA" Width="20px" />
                            <FooterStyle CssClass="ob_footer" />
                        </asp:GridView>

                    </div>
                    <div style="text-align: right">
                        <%--<uc3:PDFExport ID="PDFExport1" runat="server" />
                        <uc1:ExcelExport ID="ExcelExport1" runat="server" />--%>
                        <input id="PrintReport" type="image" src="../Images/printer.png" />
                    </div>
                </asp:Panel>
            </div>
        </td>
    </tr>
</table>
<%-- </ContentTemplate>
    <Triggers>
        <asp:PostBackTrigger ControlID="PDFExport1" />
        <asp:PostBackTrigger ControlID="ExcelExport1" />
    </Triggers>
</asp:UpdatePanel>
--%>

codebehind file
=============
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Sreeven.CSC.BusinessLogic;
using System.Globalization;
using System.Data;
using Sreeven.CSC.DataAccess;

namespace Citizen_Services_Portal.UCs
{
    public partial class ReportDashboard : System.Web.UI.UserControl
    {

        Reportsbl obj = new Reportsbl();
        Logging log = new Logging();
        int count1 = 0;
        //int total = 0;
        //DataSet dsToday;
        protected void Page_Load(object sender, EventArgs e)
        {


            if (Session["UserDetails"] != null)
            {
                //DataSet dsUserDetails = (DataSet)Session["UserDetails"];
                //DataSet dsResult = obj.reporttoday();

                //if (dsResult != null && dsResult.Tables[0].Rows.Count != 0)
                //{
                //    gvLoginDetails.DataSource = dsResult.Tables[0];
                //    gvLoginDetails.DataBind();
                //}
                //servicewisereport();


                if (!IsPostBack)
                {
                    //txtFormDate_CalendarExtender.SelectedDate = DateTime.Now;
                    // txtToDate_CalendarExtender.SelectedDate = DateTime.Now;
                    txtFromDate.Text = DateTime.Now.ToString("dd/MM/yyyy");
                    txtToDate.Text = DateTime.Now.ToString("dd/MM/yyyy");
                    servicewisereport();
                }
                else
                {
                    //    txtFromDate.Text = Convert.ToDateTime(txtFormDate_CalendarExtender.SelectedDate).ToString("dd-MMM-yy");
                    //    txtToDate.Text = Convert.ToDateTime(txtToDate_CalendarExtender.SelectedDate).ToString("dd-MMM-yy");
                }

            }
            else
            {
                Response.Redirect("~/Home.aspx");
            }
            //dsToday = obj.todayreport();
            //if (dsToday != null)
            //{


            //    if (dsToday != null && dsToday.Tables[0].Rows.Count != 0)
            //    {
            //        rptrCSCSummary.DataSource = dsToday.Tables[0];
            //        rptrCSCSummary.DataBind();
            //    }
            //    if(dsToday != null && dsToday.Tables[1].Rows.Count != 0)
            //    {
            //        gvConsolidatedReport.DataSource = dsToday.Tables[1];
            //        gvConsolidatedReport.DataBind();
            //    }
            //    if (dsToday != null && dsToday.Tables[2].Rows.Count != 0)
            //    {

            //        gvactivevle.DataSource = dsToday.Tables[2];
            //        gvactivevle.DataBind();
            //    }

            //}
        }

        //protected void rptrCSCSummary_ItemDataBound(object sender, RepeaterItemEventArgs e)
        //{


        //    if (e.Item.ItemType == ListItemType.Footer)
        //    {

        //        for (int i = 0; i < dsToday.Tables[0].Rows.Count; i++)
        //        {
        //            total += Convert.ToInt32(dsToday.Tables[0].Rows[i]["noofcsc"]);
        //        }

        //        Label lbl = (Label)e.Item.FindControl("lblTotal");

        //        lbl.Text = Convert.ToString(total);


        //    }
        //}


        //public string ReWriteAttributes(string distname)
        //{

        //    if (distname == "West Godavari")
        //    {
        //        return "https://www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png";
        //    }
        //    else if (distname == "Khammam")
        //    {
        //        return "https://www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png";
        //    }
        //    else if (distname == "Krishna")
        //    {
        //        return "https://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png";
        //    }
        //    else
        //        return "https://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png";
        //}

        public void servicewisereport()
        {

            try
            {
                DataSet dsResult1 = obj.getalldistrictreports(txtFromDate.Text, txtToDate.Text);

                if (dsResult1 != null && dsResult1.Tables.Count != 0 && dsResult1.Tables[0].Rows.Count != 0
                  )
                {
                    Session["Report"] = (DataSet)dsResult1;
                    lblHeaderTXtTopup.Text = "";
                    PrepareGridforConsolidated();
                    grdKhammam.DataSource = dsResult1.Tables[0];
                    grdKhammam.DataBind();

                    pnlGrid.Visible = true;
                    lblHeaderTXtTopup.Text += "District wise summary report From " + txtFromDate.Text.Replace("/", "-") + " To " + txtToDate.Text.Replace("/", "-");
                    lblHeaderTXtTopup.Visible = true;
                    //PDFExport1.Visible = ExcelExport1.Visible = lblHeaderTXtTopup.Visible = true;


                }
                else
                {
                    pnlGrid.Visible = false;
                    NewCustomMessage1.Information("No Data found for selected criteria");
                }

                //if (ds != null && ds.Tables[0] != null && ds.Tables[0].Rows.Count != 0)
                //{
                //    lblHeaderTXtTopup.Text = "";



                //    foreach (DataColumn col in ds.Tables[0].Columns)
                //    {
                //        BoundField bField = new BoundField();
                //        bField.DataField = col.ColumnName;
                //        bField.HeaderText = col.ColumnName;
                //        gvDITReport.Columns.Add(bField);
                //        bField.SortExpression = bField.HeaderText;



                //    }
                //    PrepareGridforConsolidated();
                //    gvDITReport.DataSource = ds.Tables[0];
                //    gvDITReport.DataBind();
                //    pnlGrid.Visible = true;
                //    lblHeaderTXtTopup.Text += "DIT From " + txtFromDate.Text.Replace("/", "-") + " To " + txtToDate.Text.Replace("/", "-");
                //    PDFExport1.Visible = ExcelExport1.Visible = lblHeaderTXtTopup.Visible = true;
                //    ExcelExport1.DataTableToExport = PDFExport1.DataTableToExport = ds.Tables[0];
                //    ExcelExport1.FileName = PDFExport1.FileName = lblHeaderTXtTopup.Text.Replace(" ", "");
                //    ExcelExport1.TitleText = PDFExport1.TitleText = lblHeaderTXtTopup.Text;
                //}
                //else
                //{
                //    pnlGrid.Visible = false;
                //    NewCustomMessage1.Information("No Data found for selected criteria");
                //}
            }
            catch (Exception ex)
            {

                log.Logflatfile_Ex(ex);
                pnlGrid.Visible = false;

            }













        }

        public void Reset()
        {
            txtFromDate.Text = txtToDate.Text = "";
            pnlGrid.Visible = false;
            //Calendar1.SelectedDate =

            //txtFormDate_CalendarExtender.SelectedDate = new DateTime(
            // txtToDate_CalendarExtender.SelectedDate = new DateTime(0);





        }

        protected void grdKhammam_RowCreated(object sender, GridViewRowEventArgs e)
        {
            grdKhammam.Columns[10].Visible = false;
            if (e.Row.RowType == DataControlRowType.Header)
            {




                //e.Row.Cells[10].Visible = false;
                GridView HeaderGrid = (GridView)sender;

                GridViewRow HeaderGridRow =
                new GridViewRow(0, 0, DataControlRowType.EmptyDataRow,
                DataControlRowState.Insert);
                TableCell HeaderCell = new TableCell();
                //HeaderCell.Text = "";
                //HeaderCell.ColumnSpan = 1;
                //HeaderCell.CssClass = "ob_gH";
                //HeaderCell.HorizontalAlign = HorizontalAlign.Center;
                //HeaderCell.BorderStyle = BorderStyle.Solid;
                //HeaderGridRow.Cells.Add(HeaderCell);

                HeaderCell = new TableCell();
                HeaderCell.Text = "SERVICE";

                HeaderCell.ColumnSpan = 2;
                HeaderCell.CssClass = "ob_gH";
                HeaderCell.Font.Bold = true;
                HeaderCell.HorizontalAlign = HorizontalAlign.Center;
                HeaderCell.BorderStyle = BorderStyle.Solid;
                HeaderGridRow.Cells.Add(HeaderCell);


                HeaderCell = new TableCell();
                HeaderCell.Text = "KHAMMAM";
                HeaderCell.ColumnSpan = 2;
                HeaderCell.CssClass = "ob_gH";
                HeaderCell.Font.Bold = true;
                HeaderCell.HorizontalAlign = HorizontalAlign.Center;
                HeaderCell.BorderStyle = BorderStyle.Solid;
                HeaderGridRow.Cells.Add(HeaderCell);

                HeaderCell = new TableCell();
                HeaderCell.Text = "KRISHNA";
                HeaderCell.ColumnSpan = 2;
                HeaderCell.CssClass = "ob_gH";
                HeaderCell.Font.Bold = true;
                HeaderCell.HorizontalAlign = HorizontalAlign.Center;
                HeaderCell.BorderStyle = BorderStyle.Solid;
                HeaderGridRow.Cells.Add(HeaderCell);


                HeaderCell = new TableCell();
                HeaderCell.Text = "WESTGODAVARI";
                HeaderCell.ColumnSpan = 2;
                HeaderCell.CssClass = "ob_gH";
                HeaderCell.Font.Bold = true;
                HeaderCell.HorizontalAlign = HorizontalAlign.Center;
                HeaderCell.BorderStyle = BorderStyle.Solid;
                HeaderGridRow.Cells.Add(HeaderCell);

                HeaderCell = new TableCell();
                HeaderCell.Text = "TOTAL";
                HeaderCell.ColumnSpan = 2;
                HeaderCell.CssClass = "ob_gH";
                HeaderCell.Font.Bold = true;
                HeaderCell.HorizontalAlign = HorizontalAlign.Center;
                HeaderGridRow.Cells.Add(HeaderCell);

                grdKhammam.Controls[0].Controls.AddAt(0, HeaderGridRow);
            }
            //if (e.Row.RowType == DataControlRowType.DataRow)
            //{

            //    e.Row.Cells[10].Visible = false;

            //}
            //if (e.Row.RowType == DataControlRowType.DataRow)
            //{

            //    e.Row.Cells[10].Visible = false;

            //}

        }

        protected void grdCenterDetails_RowCreated(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.Header)
            {
                //  e.Row.Cells[8].Visible = false;
                GridView HeaderGrid = (GridView)sender;
                GridViewRow HeaderGridRow =
                new GridViewRow(0, 0, DataControlRowType.EmptyDataRow,
                DataControlRowState.Insert);
                TableCell HeaderCell = new TableCell();
                //HeaderCell.Text = "";
                //HeaderCell.ColumnSpan = 1;
                //HeaderCell.CssClass = "ob_gRA";
                //HeaderCell.HorizontalAlign = HorizontalAlign.Center;
                //HeaderCell.BorderStyle = BorderStyle.Solid;
                //HeaderGridRow.Cells.Add(HeaderCell);

                HeaderCell = new TableCell();
                HeaderCell.Text = "SERVICE";
                HeaderCell.ColumnSpan = 1;
                HeaderCell.CssClass = "ob_gH";
                HeaderCell.Font.Bold = true;
                HeaderCell.HorizontalAlign = HorizontalAlign.Center;
                HeaderCell.BorderStyle = BorderStyle.Solid;
                HeaderGridRow.Cells.Add(HeaderCell);


                HeaderCell = new TableCell();
                HeaderCell.Text = "KHAMMAM";
                HeaderCell.ColumnSpan = 2;
                HeaderCell.CssClass = "ob_gH";
                HeaderCell.Font.Bold = true;
                HeaderCell.HorizontalAlign = HorizontalAlign.Center;
                HeaderCell.BorderStyle = BorderStyle.Solid;
                HeaderGridRow.Cells.Add(HeaderCell);

                HeaderCell = new TableCell();
                HeaderCell.Text = "KRISHNA";
                HeaderCell.ColumnSpan = 2;
                HeaderCell.CssClass = "ob_gH";
                HeaderCell.Font.Bold = true;
                HeaderCell.HorizontalAlign = HorizontalAlign.Center;
                HeaderCell.BorderStyle = BorderStyle.Solid;
                HeaderGridRow.Cells.Add(HeaderCell);


                HeaderCell = new TableCell();
                HeaderCell.Text = "WESTGODAVARI";
                HeaderCell.ColumnSpan = 2;
                HeaderCell.CssClass = "ob_gH";
                HeaderCell.Font.Bold = true;
                HeaderCell.HorizontalAlign = HorizontalAlign.Center;
                HeaderCell.BorderStyle = BorderStyle.Solid;
                HeaderGridRow.Cells.Add(HeaderCell);

                HeaderCell = new TableCell();
                HeaderCell.Text = "TOTAL";
                HeaderCell.ColumnSpan = 2;
                HeaderCell.CssClass = "ob_gH";
                HeaderCell.Font.Bold = true;
                HeaderCell.HorizontalAlign = HorizontalAlign.Center;
                HeaderGridRow.Cells.Add(HeaderCell);

                // GridView objChildGrid = (GridView)(HeaderGrid.Rows[rowIndex].FindControl("grdCenterDetails"));
                HeaderGrid.Controls[0].Controls.AddAt(0, HeaderGridRow);
            }


            //if (e.Row.RowType == DataControlRowType.DataRow)
            //{

            //    e.Row.Cells[8].Visible = false;

            //}
            //if (e.Row.RowType == DataControlRowType.DataRow)
            //{

            //    e.Row.Cells[8].Visible = false;

            //}
        }
        private void PrepareGridforConsolidated()
        {
            try
            {
                //if (RbtnConsolidatedOptions.SelectedItem != null)
                //{
                GridViewHelper gvHelper = new GridViewHelper(this.grdKhammam);
                gvHelper.RegisterSummary("KHAMMAMTxnCount", SummaryOperation.Sum);
                gvHelper.RegisterSummary("KHAMMAMTxnAmount", SummaryOperation.Sum);
                gvHelper.RegisterSummary("KRISHNATxnCount", SummaryOperation.Sum);
                gvHelper.RegisterSummary("KRISHNATxnAmount", SummaryOperation.Sum);
                gvHelper.RegisterSummary("WESTGODAVARITxnCount", SummaryOperation.Sum);
                gvHelper.RegisterSummary("WESTGODAVARITxnAmount", SummaryOperation.Sum);
                gvHelper.RegisterSummary("TOTALTXNCOUNT", SummaryOperation.Sum);
                gvHelper.RegisterSummary("TOTALTXNAMOUNT", SummaryOperation.Sum);
                gvHelper.GeneralSummary += new FooterEvent(gvHelper_GeneralSummary2);


                //}
            }
            catch (Exception ex)
            {

                //log.Logflatfile_Ex(ex);
                //pnlGrid.Visible = false;
                //NewCustomMessage1.Error("Unable to Get This Report");
            }
        }
        void gvHelper_GeneralSummary2(GridViewRow row)
        {
            row.Cells[0].HorizontalAlign = HorizontalAlign.Right;
            row.Font.Bold = true;
            row.Cells[0].Text = "Total    ";
        }

        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            //txtFormDate_CalendarExtender.SelectedDate=Convert.ToDateTime(txtFromDate.Text);
            //  txtToDate_CalendarExtender.SelectedDate=Convert.ToDateTime(txtToDate.Text);
            DateTimeFormatInfo format = new DateTimeFormatInfo();
            format.ShortDatePattern = "d/M/yyyy";
            int count = DateTime.Compare(Convert.ToDateTime(DateTime.Now.ToString(txtFromDate.Text), format), Convert.ToDateTime(txtToDate.Text, format));
            if (count != 1)
            {
                servicewisereport();
            }
            else
            {
                pnlGrid.Visible = false;
                NewCustomMessage1.Alert("From Date should be less than To Date");
            }


        }
        protected void grdKhammam_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Expand")
            {
              
                ImageButton imgbtn;
                GridView gv = (GridView)(sender);

                Int32 rowIndex = Convert.ToInt32(e.CommandArgument.ToString());
                PlaceHolder objPH = (PlaceHolder)(gv.Rows[rowIndex].FindControl("phCenterDetails"));
                GridView objChildGrid = (GridView)(gv.Rows[rowIndex].FindControl("grdCenterDetails"));
                imgbtn = (ImageButton)(gv.Rows[rowIndex].FindControl("ImgBtn"));


                grdKhammam.Columns[10].Visible = true;
                if (imgbtn.ImageUrl == @"~/Images/plus.png")
                {
                  
                    Session["serviceid"] = gv.DataKeys[rowIndex][0].ToString();

                    DataSet dsGetDistrictWiseCenterDetails = (DataSet)Session["Report"];
                    if (dsGetDistrictWiseCenterDetails.Tables[0].Rows.Count != 0)
                    {


                        imgbtn.ImageUrl = @"~/Images/minus1.png";
                        if (objChildGrid != null)
                        {
                            if (objPH != null)
                                objPH.Visible = true;
                            objChildGrid.Visible = true;

                            if (dsGetDistrictWiseCenterDetails.Tables[0].Rows.Count != 0)
                            {



                                if (Session["serviceid"].ToString() == "5")
                                {
                                  
                                    objChildGrid.DataSource = dsGetDistrictWiseCenterDetails.Tables[1];
                                    objChildGrid.DataBind();
                                }
                                else if (Session["serviceid"].ToString() == "22")
                                {
                                   
                                    objChildGrid.DataSource = dsGetDistrictWiseCenterDetails.Tables[2];
                                    objChildGrid.DataBind();
                                }

                            }
                            else
                            {
                                objChildGrid.EmptyDataText = "<b><center>No Data</center></b>";
                            }

                        }
                    }
                    else
                    {
                        grdKhammam.Columns[10].Visible = false;
                        imgbtn.ImageUrl = @"~/Images/minus1.png";
                        if (objPH != null)
                            objPH.Visible = true;
                        objChildGrid.Visible = true;
                        objChildGrid.EmptyDataText = "<b><center>Invalid Data</center></b>";


                    }
                }

                else
                {
                  
                  
                    Session["serviceid"] = gv.DataKeys[rowIndex][0].ToString();

                    DataSet dsGetDistrictWiseCenterDetails = (DataSet)Session["Report"];
                   
                    if (dsGetDistrictWiseCenterDetails.Tables[0].Rows.Count != 0)
                    {


                        imgbtn.ImageUrl = @"~/Images/plus.png";
                        if (objChildGrid != null)
                        {
                            if (objPH != null)
                                objPH.Visible = false;
                            objChildGrid.Visible = false;

                            if (dsGetDistrictWiseCenterDetails.Tables[0].Rows.Count != 0 )
                            {                   

                                if (Session["serviceid"].ToString() == "5")
                                {

                                  
                                    objChildGrid.DataSource = null;
                                  
                                 
                                }
                                else if (Session["serviceid"].ToString() == "22")
                                {
                                  
                                    objChildGrid.DataSource = null;
                                  
                                }
                               
                               
                            }
                            else
                            {
                                objChildGrid.EmptyDataText = "<b><center>No Data</center></b>";
                            }

                           

                        }
                    }
                    else
                    {
                        grdKhammam.Columns[10].Visible = false;
                        imgbtn.ImageUrl = @"~/Images/plus.png";
                        if (objPH != null)
                            objPH.Visible = false;
                        objChildGrid.Visible = false;
                        objChildGrid.EmptyDataText = "<b><center>Invalid Data</center></b>";
                       

                    }


                }

                //for (int i = 0; i < grdKhammam.Rows.Count;i++)                {
                //    imgbtn = (ImageButton)(grdKhammam.Rows[rowIndex].FindControl("ImgBtn"));
                //    if (imgbtn.ImageUrl == @"~/Images/plus.png")
                //    {
                //        grdKhammam.Columns[10].Visible = true;
                       
                //    }
                //    else
                //    {
                //        grdKhammam.Columns[10].Visible = false;
                //    }
                //}
               

            }

        }

        protected void grdKhammam_RowDataBound(object sender, GridViewRowEventArgs e)
        {


            ImageButton imgBtn;


            if (e.Row.RowType == DataControlRowType.DataRow)
            {

                imgBtn = (ImageButton)(e.Row.FindControl("ImgBtn"));
                imgBtn.CommandArgument = e.Row.RowIndex.ToString();
                imgBtn.Visible = false;


                if (Convert.ToInt16(grdKhammam.DataKeys[e.Row.RowIndex][0].ToString()) == 22 || Convert.ToInt16(grdKhammam.DataKeys[e.Row.RowIndex][0].ToString()) == 5)
                {
                    ImageButton ImageList = (ImageButton)(e.Row.FindControl("ImgBtn"));
                    ImageList.Visible = true;

                    //  imgBtn.Visible = false;
                    //PlaceHolder objPH;
                    //objPH = (PlaceHolder)(e.Row.FindControl("phCenterDetails"));

                    //if (objPH != null)
                    //    objPH.Visible = true;

                    //if (imgBtn.ImageUrl == @"~/Images/plus.png")
                    //    imgBtn.ImageUrl = @"~/Images/minus.png";
                    //else
                    //    imgBtn.ImageUrl = @"~/Images/plus.png";
                }



            }



        }


    }
}

====================================================================


Database side
============

procedrues:
=========
create or replace
PROCEDURE               "P_GET_ALL_REPORT" (FROMDATE IN VARCHAR2,
TODATE IN VARCHAR2,
ditreport OUT sys_refcursor,
msreport OUT sys_refcursor,
csreport OUT sys_refcursor)
AS
BEGIN
DECLARE
type number_array IS TABLE OF VARCHAR2(202);
type varchar2_array IS   TABLE OF VARCHAR2(202);
type varchar2_array2 IS   TABLE OF VARCHAR2(202);
  v1 number_array;
  v2 varchar2_array;
  v3 varchar2_array2;
  v4 varchar2_array2;
  v5 varchar2_array2;
  v6 varchar2_array2;
  v7 varchar2_array2;
  v8 varchar2_array2;
  v9 varchar2_array2;
 
  m1 number_array;
  m2 varchar2_array;
  m3 varchar2_array2;
  m4 varchar2_array2;
  m5 varchar2_array2;
  m6 varchar2_array2;
  m7 varchar2_array2;
  m8 varchar2_array2;
 
  c1 number_array;
  c2 varchar2_array;
  c3 varchar2_array2;
  c4 varchar2_array2;
  c5 varchar2_array2;
  c6 varchar2_array2;
  c7 varchar2_array2;
  c8 varchar2_array2; 
 
 
BEGIN

  SELECT ms.service_name,
     ms.service_id,
    NVL(TXNCOUNT,'0'),
    NVL(AMOUNT,'0') bulk collect
  INTO v1,
   v8,
    v2,
    v5
  FROM
    (SELECT vm.dist_no AS "DISTNO",     
      ms.service_name  AS "SERVICE",
      ms.service_id  AS "SERID",
      COUNT(tm.txn_id) AS "TXNCOUNT",
      SUM(AMOUNT)      AS "AMOUNT"
    FROM TXN_master TM
    RIGHT OUTER JOIN mst_SERVICE ms
    ON ms.service_id=tm.service_id
    INNER JOIN vle_master vm
    ON tm.vle_id     =vm.vle_email
    WHERE vm.dist_no ='10' and (tm.TXN_DATETIME  between to_date(FROMDATE,'DD-MM-YY') AND to_date(TODATE,'DD-MM-YY')+1 )
    GROUP BY (vm.dist_no,service_name,MS.service_id)
 
    )
  RIGHT JOIN mst_SERVICE ms
  ON ms.service_id=SERID
  ORDER BY service_id,service_name;

  SELECT NVL(TXNCOUNT,'0'),
    NVL(AMOUNT,'0') bulk collect
  INTO v3,
    v6
  FROM
    (SELECT vm.dist_no AS "DISTNO",     
      ms.service_name  AS "SERVICE",
      ms.service_id    AS "SERID",
      COUNT(tm.txn_id) AS "TXNCOUNT",
      SUM(AMOUNT)      AS "AMOUNT"
    FROM TXN_master TM
    RIGHT OUTER JOIN mst_SERVICE ms
    ON ms.service_id=tm.service_id
    INNER JOIN vle_master vm
    ON tm.vle_id     =vm.vle_email
    WHERE vm.dist_no ='16' and (tm.TXN_DATETIME  between to_date(FROMDATE,'DD-MM-YY') AND to_date(TODATE,'DD-MM-YY')+1 )
    GROUP BY (vm.dist_no,service_name,MS.service_id)
 
    )
  RIGHT JOIN mst_SERVICE ms
  ON ms.service_id=SERID
  ORDER BY service_id,service_name;

  SELECT NVL(TXNCOUNT,'0'),
    NVL(AMOUNT,'0') bulk collect
  INTO v4,
    v7
  FROM
    (SELECT vm.dist_no AS "DISTNO",     
      ms.service_name  AS "SERVICE",
      ms.service_id    AS "SERID",
      COUNT(tm.txn_id) AS "TXNCOUNT",
      SUM(AMOUNT)      AS "AMOUNT"
    FROM TXN_Master TM
    RIGHT OUTER JOIN mst_SERVICE ms
    ON ms.service_id=tm.service_id
    INNER JOIN vle_master vm
    ON tm.vle_id     =vm.vle_email
    WHERE vm.dist_no ='15' and (tm.TXN_DATETIME  between to_date(FROMDATE,'DD-MM-YY') AND to_date(TODATE,'DD-MM-YY')+1 )
    GROUP BY (vm.dist_no,service_name,MS.service_id)
  
    )
  RIGHT JOIN mst_SERVICE ms
  ON ms.service_id=SERID
  ORDER BY service_id,service_name;
 
  --meeseva services
  SELECT ms.m_service_name,
  ms.m_service_id,
    NVL(TXNCOUNT,'0'),
    NVL(AMOUNT,'0') bulk collect   
  INTO m1,--services 
    m2,--serviceid
    m3,--khm txncount
    m4--khm txnamount
  FROM
    (SELECT vm.dist_no AS "DISTNO",     
      ms.m_service_name  AS "SERVICE",
      ms.m_service_id  AS "SERID",
      COUNT(tm.txn_id) AS "TXNCOUNT",
      SUM(AMOUNT)      AS "AMOUNT"
    FROM TXN_master TM
    inner join  MST_SERVICE  pm on pm.SERVICE_ID= tm.SERVICE_ID
    inner join  txn_meeseva mm on mm.txn_no=tm.txn_id
    RIGHT OUTER JOIN meeseva_services ms
    ON mm.m_service_id=ms.m_service_id
    INNER JOIN vle_master vm
    ON tm.vle_id     =vm.vle_email
    WHERE vm.dist_no ='10' and (tm.TXN_DATETIME  between to_date(FROMDATE,'DD-MM-YY') AND to_date(TODATE,'DD-MM-YY')+1 )
    GROUP BY (vm.dist_no,m_service_name,MS.m_service_id)
    ORDER BY vm.dist_no
    )
  RIGHT JOIN meeseva_services ms
  ON ms.m_service_id=SERID
  ORDER BY m_service_id; 

 
 
  SELECT
    NVL(TXNCOUNT,'0'),
    NVL(AMOUNT,'0') bulk collect
  INTO
    m5,--kri txncount
    m6--kri txnamount
  FROM
    (SELECT vm.dist_no AS "DISTNO",     
      ms.m_service_name  AS "SERVICE",
      ms.m_service_id  AS "SERID",
      COUNT(tm.txn_id) AS "TXNCOUNT",
      SUM(AMOUNT)      AS "AMOUNT"
    FROM TXN_master TM
    inner join  MST_SERVICE  pm on pm.SERVICE_ID= tm.SERVICE_ID
    inner join  txn_meeseva mm on mm.txn_no=tm.txn_id
    RIGHT OUTER JOIN meeseva_services ms
    ON mm.m_service_id=ms.m_service_id
    INNER JOIN vle_master vm
    ON tm.vle_id     =vm.vle_email
    WHERE vm.dist_no ='16' and (tm.TXN_DATETIME  between to_date(FROMDATE,'DD-MM-YY') AND to_date(TODATE,'DD-MM-YY')+1 )
    GROUP BY (vm.dist_no,m_service_name,MS.m_service_id)
    ORDER BY vm.dist_no
    )
  RIGHT JOIN meeseva_services ms
  ON ms.m_service_id=SERID
  ORDER BY m_service_id;
 
 
  SELECT  
    NVL(TXNCOUNT,'0'),
    NVL(AMOUNT,'0') bulk collect
  INTO
    m7,--west txncount
    m8--wset txnamount
  FROM
    (SELECT vm.dist_no AS "DISTNO",     
      ms.m_service_name  AS "SERVICE",
      ms.m_service_id  AS "SERID",
      COUNT(tm.txn_id) AS "TXNCOUNT",
      SUM(AMOUNT)      AS "AMOUNT"
    FROM TXN_master TM
    inner join  MST_SERVICE  pm on pm.SERVICE_ID= tm.SERVICE_ID
    inner join  txn_meeseva mm on mm.txn_no=tm.txn_id
    RIGHT OUTER JOIN meeseva_services ms
    ON mm.m_service_id=ms.m_service_id
    INNER JOIN vle_master vm
    ON tm.vle_id     =vm.vle_email
    WHERE vm.dist_no ='15' and (tm.TXN_DATETIME  between to_date(FROMDATE,'DD-MM-YY') AND to_date(TODATE,'DD-MM-YY')+1 )
    GROUP BY (vm.dist_no,m_service_name,MS.m_service_id)
    ORDER BY vm.dist_no
    )
  RIGHT JOIN meeseva_services ms
  ON ms.m_service_id=SERID
  ORDER BY m_service_id;
 
 
  --central services
  SELECT ms.m_service_name,
  ms.m_service_id,
    NVL(TXNCOUNT,'0'),
    NVL(AMOUNT,'0') bulk collect
  INTO c1,--services 
    c2,--serviceid
    c3,--khm txncount
    c4--khm txnamount
  FROM
    (SELECT vm.dist_no AS "DISTNO",     
      ms.m_service_name  AS "SERVICE",
      ms.m_service_id  AS "SERID",
     ms.m_dept_code  AS "DEPTCODE",
      COUNT(tm.txn_id) AS "TXNCOUNT",
      SUM(AMOUNT)      AS "AMOUNT"
    FROM TXN_master TM
    inner join  MST_SERVICE  pm on pm.SERVICE_ID= tm.SERVICE_ID
    inner join  txn_central mm on mm.txn_no=tm.txn_id
    RIGHT OUTER JOIN CENTRAL_MEESEVA_SERVICES ms   
    ON mm.m_service_id=ms.m_service_id and  mm.m_dept_code=ms.m_dept_code
    INNER JOIN vle_master vm
    ON tm.vle_id     =vm.vle_email
    WHERE vm.dist_no ='10' and (tm.TXN_DATETIME  between to_date(FROMDATE,'DD-MM-YY') AND to_date(TODATE,'DD-MM-YY')+1 )
  
    GROUP BY (vm.dist_no,m_service_name,MS.m_service_id,ms.m_dept_code)
    ORDER BY vm.dist_no
    )
  RIGHT JOIN CENTRAL_MEESEVA_SERVICES ms
  ON ms.m_service_id=SERID and ms.m_dept_code=DEPTCODE
  ORDER BY m_service_id,m_service_name;
 
  SELECT
    NVL(TXNCOUNT,'0'),
    NVL(AMOUNT,'0') bulk collect
  INTO
    c5,--kri txncount
    c6--kri txnamount
  FROM
    (SELECT vm.dist_no AS "DISTNO",     
      ms.m_service_name  AS "SERVICE",
      ms.m_service_id  AS "SERID",
        ms.m_dept_code  AS "DEPTCODE",
      COUNT(tm.txn_id) AS "TXNCOUNT",
      SUM(AMOUNT)      AS "AMOUNT"
    FROM TXN_master TM
    inner join  MST_SERVICE  pm on pm.SERVICE_ID= tm.SERVICE_ID
    inner join  txn_central mm on mm.txn_no=tm.txn_id
    RIGHT OUTER JOIN CENTRAL_MEESEVA_SERVICES ms   
    ON mm.m_service_id=ms.m_service_id and  mm.m_dept_code=ms.m_dept_code
    INNER JOIN vle_master vm
    ON tm.vle_id     =vm.vle_email
    WHERE vm.dist_no ='16' and (tm.TXN_DATETIME  between to_date(FROMDATE,'DD-MM-YY') AND to_date(TODATE,'DD-MM-YY')+1 )
    GROUP BY (vm.dist_no,m_service_name,MS.m_service_id,ms.m_dept_code)
    ORDER BY vm.dist_no
    )
  RIGHT JOIN CENTRAL_MEESEVA_SERVICES ms
  ON ms.m_service_id=SERID and ms.m_dept_code=DEPTCODE
  ORDER BY m_service_id,m_service_name;
 
  SELECT  
    NVL(TXNCOUNT,'0'),
    NVL(AMOUNT,'0') bulk collect
  INTO
    c7,--west txncount
    c8--wset txnamount
  FROM
    (SELECT vm.dist_no AS "DISTNO",     
      ms.m_service_name  AS "SERVICE",
      ms.m_service_id  AS "SERID",
      ms.m_dept_code  AS "DEPTCODE",
      COUNT(tm.txn_id) AS "TXNCOUNT",
      SUM(AMOUNT)      AS "AMOUNT"
    FROM TXN_master TM
    inner join  MST_SERVICE  pm on pm.SERVICE_ID= tm.SERVICE_ID
    inner join  txn_central mm on mm.txn_no=tm.txn_id
    RIGHT OUTER JOIN CENTRAL_MEESEVA_SERVICES ms   
    ON mm.m_service_id=ms.m_service_id and  mm.m_dept_code=ms.m_dept_code
    INNER JOIN vle_master vm
    ON tm.vle_id     =vm.vle_email
    WHERE vm.dist_no ='15' and (tm.TXN_DATETIME  between to_date(FROMDATE,'DD-MM-YY') AND to_date(TODATE,'DD-MM-YY')+1 )
    GROUP BY (vm.dist_no,m_service_name,MS.m_service_id,ms.m_dept_code)
    ORDER BY vm.dist_no
    )
  RIGHT JOIN CENTRAL_MEESEVA_SERVICES ms
  ON ms.m_service_id=SERID and ms.m_dept_code=DEPTCODE
  ORDER BY m_service_id,m_service_name;
   
 
  --delete from Reports ;
  EXECUTE IMMEDIATE 'TRUNCATE TABLE  Reports';
  FOR i IN 1..v3.LAST
  LOOP -- v1, v2,v6     v3,v7     v4,v8
    INSERT INTO Reports VALUES
      (v1(i),v2(i),v3(i),v4(i),v5(i),v6(i),v7(i),v8(i)
      );
  END LOOP;
  --delete from MSREPORTS;
  EXECUTE IMMEDIATE 'TRUNCATE TABLE  MSREPORTS';
  FOR i IN 1..m3.LAST
  LOOP -- v1, v2,v6     v3,v7     v4,v8
    INSERT INTO MSREPORTS VALUES
      (m1(i),m2(i),m3(i),m4(i),m5(i),m6(i),m7(i),m8(i)
      );
  END LOOP;
 
  --delete from CSREPORTS;
  EXECUTE IMMEDIATE 'TRUNCATE TABLE  CSREPORTS';
  FOR i IN 1..c3.LAST
  LOOP -- v1, v2,v6     v3,v7     v4,v8
    INSERT INTO CSREPORTS VALUES
      (c1(i),c2(i),c3(i),c4(i),c5(i),c6(i),c7(i),c8(i)
      );
  END LOOP;
  
 
  OPEN ditreport FOR
  SELECT SERVICE_NAME
AS
  "SERVICENAME",
 
  SERVICE_ID
AS
  "SERVICEID",
 
  to_number(KHAMMAM_TXNCNT)
AS
  "KHAMMAMTxnCount",
 
 
  to_number(KHAMMAM_TXNAMT)
AS
  "KHAMMAMTxnAmount",
 
  to_number(KRISHNA_TXNCNT)
AS
  "KRISHNATxnCount",
 
  to_number(KRISHNA_TXNAMT)
AS
  "KRISHNATxnAmount",
 
 
  to_number(WESTGODAVARI_TXNCNT)
AS
  "WESTGODAVARITxnCount",
 
   
  to_number(WESTGODAVARI_TXNAMT)
AS
  "WESTGODAVARITxnAmount",
  (
    to_number(KHAMMAM_TXNCNT+KRISHNA_TXNCNT+WESTGODAVARI_TXNCNT)
  )
AS
  "TOTALTXNCOUNT",
  (
    to_number(KHAMMAM_TXNAMT+KRISHNA_TXNAMT+WESTGODAVARI_TXNAMT)
  )
AS
  "TOTALTXNAMOUNT" FROM Reports
  where SERVICE_id!='2'
  and KHAMMAM_TXNCNT!='0' or KRISHNA_TXNCNT!='0' or WESTGODAVARI_TXNCNT!='0'
  
  order by SERVICE_NAME;
 
 --meeseva servcies
  OPEN msreport FOR
  SELECT MS_SERVICES
AS
  "SERVICENAME",
  MS_SERVICE_ID
AS
  "SERVICEID",
  to_number(MS_KHM_TXN_COUNT)
AS
  "KHAMMAMTxnCount",
 
  to_number(MS_KHM_TXN_AMT)
AS
  "KHAMMAMTxnAmount",
  to_number(MS_KRI_TXN_COUNT)
AS
  "KRISHNATxnCount",
  to_number(MS_KRI_TXN_AMOUNT)
AS
  "KRISHNATxnAmount",
 
  to_number(MS_WESTGODV_TXN_COUNT)
AS
  "WESTGODAVARITxnCount",
   
  to_number(MS_WESTGODV_TXN_AMT)
AS
  "WESTGODAVARITxnAmount",
  (
    to_number(MS_KHM_TXN_COUNT+MS_KRI_TXN_COUNT+MS_WESTGODV_TXN_COUNT)
  )
AS
  "TOTALTXNCOUNT",
  (
    to_number(MS_KHM_TXN_AMT+MS_KRI_TXN_AMOUNT+MS_WESTGODV_TXN_AMT)
  )
AS
  "TOTALTXNAMOUNT" FROM MSREPORTS
  where  MS_KHM_TXN_COUNT!='0' or  MS_KRI_TXN_COUNT !='0' or  MS_WESTGODV_TXN_COUNT !='0'
  order by MS_SERVICES;
 
  --central servcies
  OPEN csreport FOR
  SELECT CS_SERVICES
AS
  "SERVICENAME",
   CS_SERVICE_ID
AS
  "SERVICEID",
 
  to_number(CS_KHM_TXN_COUNT)
AS
  "KHAMMAMTxnCount",
 
  to_number(CS_KHM_TXN_AMT)
AS
  "KHAMMAMTxnAmount",
  to_number(CS_KRI_TXN_COUNT)
AS
  "KRISHNATxnCount",
  to_number(CS_KRI_TXN_AMOUNT)
AS
  "KRISHNATxnAmount",
 
  to_number(CS_WESTGODV_TXN_COUNT)
AS
  "WESTGODAVARITxnCount",
   
  to_number(CS_WESTGODV_TXN_AMT)
AS
  "WESTGODAVARITxnAmount",
  (
    to_number(CS_KHM_TXN_COUNT+CS_KRI_TXN_COUNT+CS_WESTGODV_TXN_COUNT)
  )
AS
  "TOTALTXNCOUNT",
  (
    to_number(CS_KHM_TXN_AMT+CS_KRI_TXN_AMOUNT+CS_WESTGODV_TXN_AMT)
  )
AS
  "TOTALTXNAMOUNT" FROM CSREPORTS
  where  CS_KHM_TXN_COUNT!='0' or  CS_KRI_TXN_COUNT !='0' or  CS_WESTGODV_TXN_COUNT !='0'
  order by CS_SERVICES;
 
END;
END ;

========================================================================

tables:
=======
CREATE TABLE "CSCLIVE0102"."REPORTS"
  (
    "SERVICE_NAME"        VARCHAR2(200 BYTE),
    "KHAMMAM_TXNCNT"      VARCHAR2(200 BYTE),
    "KRISHNA_TXNCNT"      VARCHAR2(200 BYTE),
    "WESTGODAVARI_TXNCNT" VARCHAR2(200 BYTE),
    "KHAMMAM_TXNAMT"      VARCHAR2(200 BYTE),
    "KRISHNA_TXNAMT"      VARCHAR2(200 BYTE),
    "WESTGODAVARI_TXNAMT" VARCHAR2(200 BYTE),
    "SERVICE_ID"          VARCHAR2(20 BYTE)
  )

===============================================
CREATE TABLE "CSCLIVE0102"."MSREPORTS"
  (
    "MS_SERVICES"           VARCHAR2(200 BYTE),
    "MS_SERVICE_ID"         VARCHAR2(20 BYTE),
    "MS_KHM_TXN_COUNT"      VARCHAR2(20 BYTE),
    "MS_KHM_TXN_AMT"        VARCHAR2(20 BYTE),
    "MS_KRI_TXN_COUNT"      VARCHAR2(20 BYTE),
    "MS_KRI_TXN_AMOUNT"     VARCHAR2(20 BYTE),
    "MS_WESTGODV_TXN_COUNT" VARCHAR2(20 BYTE),
    "MS_WESTGODV_TXN_AMT"   VARCHAR2(20 BYTE)
  )
=================================================

CREATE TABLE "CSCLIVE0102"."CSREPORTS"
  (
    "CS_SERVICES"           VARCHAR2(200 BYTE),
    "CS_SERVICE_ID"         VARCHAR2(20 BYTE),
    "CS_KHM_TXN_COUNT"      VARCHAR2(20 BYTE),
    "CS_KHM_TXN_AMT"        VARCHAR2(20 BYTE),
    "CS_KRI_TXN_COUNT"      VARCHAR2(20 BYTE),
    "CS_KRI_TXN_AMOUNT"     VARCHAR2(20 BYTE),
    "CS_WESTGODV_TXN_COUNT" VARCHAR2(20 BYTE),
    "CS_WESTGODV_TXN_AMT"   VARCHAR2(20 BYTE)
  )

=========================================================