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 ed ordinamento
mercoledì 16 luglio 2008 - 11.30
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
squilibrio
Profilo
| Expert
527
messaggi | Data Invio:
mer 16 lug 2008 - 11:30
Secondo voi dove sbaglio in questa gestione di ordinamento + paginazione??
Con questo codice, tutto OK l'ordinamento ma passando alle pagine successive la griglia è vuota
protected void gwElenco_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gwElenco.DataSource = SortDataTable(gwElenco.DataSource as DataTable, true);
gwElenco.PageIndex = e.NewPageIndex;
//BindGrid();
gwElenco.DataBind();
}
nel bindgrid()
if (dsElenco.Tables[0].Rows.Count >= 0)
{
lblTotale.Text = "Totale elementi: " + dsElenco.Tables[0].Rows.Count.ToString();
gwElenco.DataSource = dsElenco.Tables[0];
gwElenco.DataBind();
}
#region Gestione ordinamento della griglia
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 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 gwElenco_Sorting(object sender, GridViewSortEventArgs e)
{
BindGrid(Tipo);
GridViewSortExpression = e.SortExpression;
int pageIndex = gwElenco.PageIndex;
gwElenco.DataSource = SortDataTable(gwElenco.DataSource as DataTable, false);
gwElenco.DataBind();
gwElenco.PageIndex = pageIndex;
}
Grazie
rossimarko
Profilo
| Guru
1.173
messaggi | Data Invio:
mer 16 lug 2008 - 11:57
>protected void gwElenco_PageIndexChanging(object sender, GridViewPageEventArgs
>e)
> {
>gwElenco.DataSource = SortDataTable(gwElenco.DataSource as DataTable, true);
Ciao,
nel pezzo di codice riportato sopra prova a verificare se in debug la proprietà DataSource è popolata correttamente.
Se è null dovrai modificarla e far caricare i dati dal dataset come nel BindGrid.
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko
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 !