Total nombre de lignes dans le contrôle GridView à l'aide de LinqDataSource et la pagination
Je vais avoir un problème pour obtenir le total du nombre de lignes pour les éléments affichés dans un Gridview en utilisant la Pagination et avec un LinqDataSource en tant que source de données.
J'ai essayé plusieurs approches:
protected void GridDataSource_Selected(object sender, LinqDataSourceStatusEventArgs e)
{
totalLabel.Text = e.TotalRowCount.ToString();
}
retourne -1 à chaque fois.
protected void LinqDataSource1_Selected(object sender, LinqDataSourceStatusEventArgs e)
{
System.Collections.Generic.List<country> lst = e.Result as System.Collections.Generic.List<country>;
int count = lst.Count;
}
seulement me donne le comte de la page actuelle, et non pas la totalité.
Toutes les autres suggestions?
OriginalL'auteur Farinha | 2008-08-26
Vous devez vous connecter pour publier un commentaire.
La LinqDataSourceEventArgs renvoyées dans ces événements renvoient -1 à ces occasions:
Vérifiez ici pour plus d'informations - la table vers le bas, montre des propriétés différentes permettant d'obtenir le nombre de lignes de retour, mais on dirait que vous avez à mettre en page instantanée et AllowPage propriétés, soit de vrai ou de faux.
À en juger par le tableau dans le lien ci-dessus et l'exemple que vous fournissez vous avez Autopage défini à false, mais les cases à cocher allowcustompaging défini sur true, il est donc de retourner le nombre de lignes dans la page.
HTH
OriginalL'auteur JamesSugrue
La TotalRowCount propriété n'est valable que pour certaines valeurs de AutoPage et cases à cocher allowcustompaging. Ils doivent à la fois être vrai (dans votre cas) ou les deux fausses.
chech la page suivante pour une explication de la TotalRowCount propriété.
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linqdatasourcestatuseventargs.totalrowcount.aspx
OriginalL'auteur tgmdbm
Bien, j'ai déjà mis en page instantanée et les cases à cocher allowcustompaging de vrai.
J'ai confirmé que RetrieveTotalRowCount est à true par la vérification de sa valeur dans le mode de débogage (impossible de trouver où changer sa valeur).
Et il renvoie toujours -1.
La seule chose qui manque est:
et je ne suis pas tout à fait sûr de ce que cela signifie.
Je suis en utilisant une version modifiée de la LinqDataSource afin de permettre à certains filtrage personnalisé, de sorte que pourrait être le problème. Sur l'autre main, tandis que de déconner en mode debug, j'ai réussi à vérifier la valeur des arguments.TotalRowCount et c'était correct. Mais la valeur de l'événement Sélectionné est toujours -1.
OriginalL'auteur Farinha
J'ai été coincé avec le même problème. J'ai résolu mon problème avec la ligne de code suivante
protected void LinqDataSourcePoints_Selected(object sender, LinqDataSourceStatusEventArgs e)
{
totalRecords = e.Résultat sous forme de Liste).Comte;
}
Explication:
1-Analyser l'e.Résultat de votre source de données
2-Obtenir le nombre.
Fonctionne parfaitement pour moi.
OriginalL'auteur Mamoon ur Rasheed
essayer cela, je l'ai testé et il renvoie toutes les lignes.
assurez-vous que votre événement est "Sélection"
OriginalL'auteur Nick Kahn