Aggiungere testo nel pager del DataGrid di ASP.NET

di Sandro Bellantone, in ASP.NET, ADO.NET, DataGrid,

Può essere utile inserire del testo nel pager del DataGrid tra le voci "Precedenti" e "Successive".
L'esempio seguente inserisce il classico "Pagina N di M" tra i due link di navigazione.
Sfrutteremo l'evento di creazione di ogni singola cella del DataGrid per aggiungere un nostro testo personalizzato:

<SCRIPT RUNAT="SERVER">

' intercetto l'evento itemcreated del datagrid
Private Sub DataGrid1_ItemCreated(sender As Object, e As DataGridItemEventArgs)
  ' verifico che il tipo di item sia pager

  If e.Item.ItemType = ListItemType.Pager Then
           Dim cellax As TableCell
    cellax = CType(e.Item.Controls(0), TableCell)

    ' cellax a questo punto è la cella che contiene il pager
 
    ' grazie alle proprietà CurrentPageIndex e PageCount possiamo costruire
    ' una stringa che ci darà il classico Pagina N di M
    Dim pagina as String = " Pagina " & DataGrid1.CurrentPageIndex + 1 & " di " & DataGrid1.PageCount

    'se ci fate caso, nell'html restituito da una pagina aspx che contiene
    ' un datagrid, il pager è contenuto in una cella con colspan uguale al
    ' numero di colonne della griglia

    ' non ci resta quindi che inserire il nostro testo in questa cella(cellax) grazie
    ' al metodo AddAt dell'insieme Controls
    cellax.Controls.AddAt(1, New LiteralControl(pagina))
  End If
End Sub

</SCRIPT> 

In questo modo si avrà il pager più o meno così:

precedenti pagina 1 di 15 successive

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi