Comment obtenir le nombre de lignes de mon contrôle GridView paginé?
-
08-07-2019 - |
Question
La propriété rows.count de mon contrôle GridView ne m'indique que le nombre de lignes affichées à l'écran, pas le nombre total disponible.
La solution ci-dessous ne fonctionne pas. J'ai un SqlDataSource et un GridView et aucun ne peut être converti en un ensemble de données ou datatable.
La solution
Le SqlDataSource a un événement appelé OnSelected que vous pouvez définir sur une méthode comme celle ci-dessous -
protected void OnSelectedData(object sender, SqlDataSourceStatusEventArgs e)
{
// Set the record count label
RecordCountLabel.Text = "Total Records: " + e.AffectedRows;
}
Notez que e.AffectedRows contient le nombre total de lignes sélectionnées.
Autres conseils
Je pense que vous devez connaître le nombre de lignes de la source de données.
Si la source de données est datatable, alors
dt.Rows.Count
donnera le nombre total de lignes où dt est l'objet datatable.
S'il s'agit d'un ensemble de données, obtenez le datatable correspondant, puis prenez le nombre de lignes.
ds.Tables["tablename"].Rows.Count; // give the datatable name
ou
ds.Tables[tableIndex].Rows.Count; // give the datatable index
où ds est l'objet de jeu de données.