protected void GrdSuburb_Sorting(object sender, GridViewSortEventArgs e) { // dont allow sorting if in edit mode if (GrdSuburb.EditIndex >= 0) { return; } DataTable dataTable = Session["suburb_data"] as DataTable; if (dataTable != null) { if (Session["suburb_sortExpression"] == null) { Session["suburb_sortExpression"] = ""; } DataView dataView = new DataView(dataTable); string[] sortData = Session["suburb_sortExpression"].ToString().Trim().Split(' '); string newSortExpr = (e.SortExpression == sortData[0] && sortData[1] == "ASC") ? "DESC" : "ASC"; dataView.Sort = e.SortExpression + " " + newSortExpr; Session["suburb_sortExpression"] = e.SortExpression + " " + newSortExpr; GrdSuburb.DataSource = dataView; GrdSuburb.DataBind(); } }
protected void FillSuburbGrid() { DataTable dt = SuburbDB.GetDataTable(false, txtSearchSuburbName.Text.Trim(), true, null, (ddlState.SelectedValue == "All" ? null : ddlState.SelectedValue)); Session["suburb_data"] = dt; if (dt.Rows.Count > 0) { if (IsPostBack && Session["suburb_sortExpression"] != null && Session["suburb_sortExpression"].ToString().Length > 0) { DataView dataView = new DataView(dt); dataView.Sort = Session["suburb_sortExpression"].ToString(); GrdSuburb.DataSource = dataView; } else { GrdSuburb.DataSource = dt; } try { GrdSuburb.DataBind(); GrdSuburb.PagerSettings.FirstPageText = "1"; GrdSuburb.PagerSettings.LastPageText = GrdSuburb.PageCount.ToString(); GrdSuburb.DataBind(); } catch (Exception ex) { this.lblErrorMessage.Visible = true; this.lblErrorMessage.Text = ex.ToString(); } } else { dt.Rows.Add(dt.NewRow()); GrdSuburb.DataSource = dt; GrdSuburb.DataBind(); int TotalColumns = GrdSuburb.Rows[0].Cells.Count; GrdSuburb.Rows[0].Cells.Clear(); GrdSuburb.Rows[0].Cells.Add(new TableCell()); GrdSuburb.Rows[0].Cells[0].ColumnSpan = TotalColumns; GrdSuburb.Rows[0].Cells[0].Text = "No Record Found"; } }