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 1.0/1.1
Datagrid annidati e paging
martedì 06 marzo 2007 - 13.02
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ducky
Profilo
| Junior Member
57
messaggi | Data Invio:
mar 6 mar 2007 - 13:02
Ciao a tutti
Ho creato una struttura master-detail con 2 datagrid annidati. Ogni volta che cambio pagina, però, vengono create 20 colonne vuote in più al datagrid: questo perché l'evento ItemDataBound (dove aggiungo il datagrid figlio al padre, come nuova colonna) è richiamato a ogni DataBind, e purtroppo ho bisogno del DataBind anche nel PageIndexChanged, per un corretto refresh dei dati a ogni cambio pagina.
Questo è il mio codice (ho scritto le 2 query per i datagrid nel Page_Load):
private void dataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
dataGrid1.CurrentPageIndex = e.NewPageIndex;
dataGrid1.DataSource = ds;
dataGrid1.DataKeyField = "ID";
dataGrid1.DataBind();
}
private void dataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
DataGrid dataGrid2 = new DataGrid();
dataGrid2.ShowHeader = false;
dataGrid2.BorderWidth = 0;
dataGrid2.Width = Unit.Percentage(100);
dataGrid2.AutoGenerateColumns = false;
BoundColumn bc = new BoundColumn();
bc.DataField = "DETAILS";
bc.ItemStyle.Wrap = false;
dataGrid2.Columns.Add(bc);
DataView _dett = ds.Tables["details"].DefaultView;
_dett.RowFilter = "ID=" + e.Item.Cells[2].Text;
dataGrid2.DataSource = _dett;
dataGrid2.DataBind();
BoundColumn c = new BoundColumn();
c.HeaderText = "DETAILS";
c.ItemStyle.Wrap = false;
dataGrid1.Columns.Add(c);
e.Item.Cells[e.Item.Cells.Count-1].Controls.Add(dataGrid2);
}
}
C'è qualcuno in grado di darmi una mano? Sono veramente nel buio più totale...
Grazie!
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 !