Ho una GridView, gli ho settato la proprietà AllowPaging a true.
Il problema è che mi genera un codice che non mi piace neanche un pò (una table annidata in una cella).
Allora ho pensato bene di usare il <PagerTemplate>.
In pratica vorrei solo una lista di linkbuttons (pag.1 pag.2 pag.3 etc)
Ho provato a creare il tutto dinamicamente all'evento DataBound della GridView con questo codice:
I link mi compaiono correttamente ma:codice:protected void GridView1_DataBound(object sender, EventArgs e) { GridViewRow pagerRow = GridView1.BottomPagerRow; if (pagerRow != null) { Label pagerLabel = new Label(); pagerLabel.Text = "Pagina "+(GridView1.PageIndex+1).ToString()+" di "+(string)GridView1.PageCount.ToString()+""; pagerRow.Cells[0].Controls.Add(pagerLabel); } for (int i = GridView1.PageCount-1; i >= 0; i--) { LinkButton lnk = new LinkButton(); lnk.Text = (i + 1).ToString(); lnk.CommandName = "Page"; lnk.CommandArgument = i.ToString(); lnk.CausesValidation = false; lnk.Command += new CommandEventHandler(lb_Command); if (i == GridView1.PageIndex) { lnk.CssClass = "current"; } pagerRow.Cells[0].Controls.Add(lnk); } } void lb_Command(object sender, CommandEventArgs e) { if (e.CommandName == "Page") GridView1.PageIndex = Convert.ToInt32(e.CommandArgument); }
A) se clicco sui link non mi passa alla pagina prescelta (ricarica quella corrente) e in più
B) mi scompare la riga con il pager.
E' tutta la giornata che ci sto sbattendo la testa e online non trovo nulla che mi conforti. Qualche anima pia sa dirmi dov'è che sbaglio?


E' tutta la giornata che ci sto sbattendo la testa e online non trovo nulla che mi conforti. Qualche anima pia sa dirmi dov'è che sbaglio?
Rispondi quotando