Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Ordinamento griglia e paginazione
giovedì 22 novembre 2007 - 16.33
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
squilibrio
Profilo
| Expert
527
messaggi | Data Invio:
gio 22 nov 2007 - 16:33
Ciao a tutti, come posso fare in modo che la paginazione tenga in cosiderazione il filtro applicato in una griglia?? Attualmente se cambio pagina viene applicata l'ordine iniziale della pagina
private void BindGrid()
{
DataSet dsElenco;
dsElenco = msnHelper.DataHelper.GetProgetti(sqlConnection);
if (dsElenco.Tables[0].Rows.Count > 0)
{
// Imposto il filtro presente nel ViewState
if (ViewState["LastFilter"] != null)
{
dsElenco.Tables[0].DefaultView.RowFilter = ViewState["LastFilter"].ToString();
}
gwtest.DataSource = dsElenco.Tables[0];
gwtest.DataBind();
}
}
per gestire l'ordine uso
private string GridViewSortDirection
{
get { return ViewState["SortDirection"] as string ?? "ASC"; }
set { ViewState["SortDirection"] = value; }
}
private string GridViewSortExpression
{
get { return ViewState["SortExpression"] as string ?? string.Empty; }
set { ViewState["SortExpression"] = value; }
}
private string GetSortDirection()
{
switch (GridViewSortDirection)
{
case "ASC":
GridViewSortDirection = "DESC";
break;
case "DESC":
GridViewSortDirection = "ASC";
break;
}
return GridViewSortDirection;
}
protected void gwtest_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gwtest.DataSource = SortDataTable(gwtest.DataSource as DataTable, true);
gwtest.PageIndex = e.NewPageIndex;
BindGrid();
}
protected DataView SortDataTable(DataTable dataTable, bool isPageIndexChanging)
{
if (dataTable != null)
{
DataView dataView = new DataView(dataTable);
if (GridViewSortExpression != string.Empty)
{
if (isPageIndexChanging)
{
dataView.Sort = string.Format("{0} {1}", GridViewSortExpression, GridViewSortDirection);
}
else
{
dataView.Sort = string.Format("{0} {1}", GridViewSortExpression, GetSortDirection());
}
}
return dataView;
}
else
{
return new DataView();
}
}
protected void gwtest_Sorting(object sender, GridViewSortEventArgs e)
{
GridViewSortExpression = e.SortExpression;
int pageIndex = gwtest.PageIndex;
gwtest.DataSource = SortDataTable(gwtest.DataSource as DataTable, false);
//BindGrid();
gwtest.DataBind();
gwtest.PageIndex = pageIndex;
}
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !