Un problemino con la DataGrid di ASP.NET 2.0

Migrando un progetto da ASP.NET 1.1 a ASP.NET 2.0 mi sono accorto di un problema con il controllo DataGrid: se il controllo mostra una o due righe, e viene selezionata la prima riga dell'elenco, sul postback viene perso l'attributo "colSpan" del pager.
Visto che solitamente personalizzo il pager per mostrare informazioni di riepilogo, questo problema porta ad un rendering "sballato" di tutti i controlli aggiunti nel pager.

Fortunatamente, la soluzione è abbastanza semplice: basta intercettare l'evento OnItemCreated e gestire la creazione del pager:

protected void grid1_ItemCreated(object sender, DataGridItemEventArgs e)
{
   
if (e.Item.ItemType == ListItemType.Pager)
    {
       
if (e.Item.Cells.Count > 0)
        {
           
e.Item.Cells[0].Attributes.Add("colspan", e.Item.Cells[0].ColumnSpan.ToString());
        }
   
}
}

In ASP.NET 1.1 questo problema non si verifica.

Print | posted on Monday, March 12, 2007 10:54 AM

Comments have been closed on this topic.