protected void GrdContactType_Sorting(object sender, GridViewSortEventArgs e)
    {
        // dont allow sorting if in edit mode
        if (GrdContactType.EditIndex >= 0)
        {
            return;
        }

        DataTable dataTable = Session["contacttype_data"] as DataTable;

        if (dataTable != null)
        {
            if (Session["contacttype_sortexpression"] == null)
            {
                Session["contacttype_sortexpression"] = "";
            }

            DataView dataView    = new DataView(dataTable);
            string[] sortData    = Session["contacttype_sortexpression"].ToString().Trim().Split(' ');
            string   newSortExpr = (e.SortExpression == sortData[0] && sortData[1] == "ASC") ? "DESC" : "ASC";
            dataView.Sort = e.SortExpression + " " + newSortExpr;
            Session["contacttype_sortexpression"] = e.SortExpression + " " + newSortExpr;

            GrdContactType.DataSource = dataView;
            GrdContactType.DataBind();
        }
    }
    protected void FillContactTypeGrid()
    {
        DataTable dt_contact_type = ContactTypeDB.GetDataTable(-1);

        Session["contacttype_data"] = dt_contact_type;

        if (dt_contact_type.Rows.Count > 0)
        {
            if (IsPostBack && Session["contacttype_sortexpression"] != null && Session["contacttype_sortexpression"].ToString().Length > 0)
            {
                DataView dataView = new DataView(dt_contact_type);
                dataView.Sort             = Session["contacttype_sortexpression"].ToString();
                GrdContactType.DataSource = dataView;
            }
            else
            {
                GrdContactType.DataSource = dt_contact_type;
            }


            try
            {
                GrdContactType.DataBind();
            }
            catch (Exception ex)
            {
                this.lblErrorMessage.Visible = true;
                this.lblErrorMessage.Text    = ex.ToString();
            }
        }
        else
        {
            dt_contact_type.Rows.Add(dt_contact_type.NewRow());
            GrdContactType.DataSource = dt_contact_type;
            GrdContactType.DataBind();

            int TotalColumns = GrdContactType.Rows[0].Cells.Count;
            GrdContactType.Rows[0].Cells.Clear();
            GrdContactType.Rows[0].Cells.Add(new TableCell());
            GrdContactType.Rows[0].Cells[0].ColumnSpan = TotalColumns;
            GrdContactType.Rows[0].Cells[0].Text       = "No Record Found";
        }
    }