|
Depois de muito quebrar a cabeça fiz meu próprio código para páginação e ordenação.
Mãos a obra para criar a Classe
public class clsClasse {
public clsClasse{}
private const string _ASCENDENTE = " ASC";
public string ASCENDENTE { get { return _ASCENDENTE; } }
private const string _DESCENDENTE = " DESC";
public string DESCENDENTE { get { return _DESCENDENTE; } }
public string Sort { get { if (HttpContext.Current.Session["sort"] == null) HttpContext.Current.Session["sort"] = "nom_razao_social";
return (string)HttpContext.Current.Session["sort"];
} set { HttpContext.Current.Session["sort"] = value; } }
public SortDirection Direcao { get { if (HttpContext.Current.Session["direcao"] == null) HttpContext.Current.Session["direcao"] = SortDirection.Ascending;
return (SortDirection)HttpContext.Current.Session["direcao"]; } set { HttpContext.Current.Session["direcao"] = value; } }
private string _nome;
public string Nome{
get { return _nome; } set { _nome = value; }
}
private string _telefone;
public string Telefone{
get { return _telefone; } set { _telefone = value; }
}
}
Mãos a obra no código aspx.cs protected void grid_Sorting(object sender, GridViewSortEventArgs e) { try { DataView dv = new DataView(); oClasse.Sort = e.SortExpression; if (oClasse.Direcao == SortDirection.Ascending) { oClasse.Direcao = SortDirection.Descending; dv = oClasse.Classificar(Pesquisar()); grid.DataSource = dv; grid.DataBind(); } else { oParceiro.Direcao = SortDirection.Ascending; dv = oParceiro.Classificar(Pesquisar()); grid.DataSource = dv; grid.DataBind(); }
} catch (Exception) {
throw; } }
Criamos a função que faz a pesquisa na Classe e Retorna um DataSet public DataSet Pesquisar() { try {
if (ddlCampos.SelectedValue == "nome" && txtPesquisa.Text !="") { oClasse.Nome = txtPesquisa.Text.Trim(); }
if (ddlCampos.SelectedValue == "telefone" && txtPesquisa.Text != "") { oClasse.Telefone = txtPesquisa.Text.Trim();
}
ds = oClasse.Pesquisar(grid, oClasse); return ds;
} catch (Exception) {
throw; }
}
|