#470 - Aggiungere testo nel pager del DataGrid di ASP.NET

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


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC