2009-11-11 9 views
0

Je remplis un répéteur avec un PagedDataSource et après avoir rempli ce répéteur, je veux effectuer d'autres opérations sur le sous-ensemble de données constituant la page que j'envoie au répéteur (my CurrentPageIndex, PageSize = 10).Comment utiliser PagedDataSource.CopyTo (ou travailler autrement avec les mêmes données que j'envoie à mon répéteur)

Donc, ma question est de savoir comment obtenir ces 10 enregistrements? En examinant MSDN, il me semble que je devrais être capable d'utiliser PagedDataSource.CopyTo pour copier cela sur un System.Array, mais il semble que "Index soit en dehors des limites du tableau." (Je ne suis pas sûr de la façon dont j'ai besoin de définir les limites du tableau de PagedDataSource.)

Sinon, je serais heureux si je pouvais obtenir ces enregistrements dans un SqlDataReader ou toute autre façon de les lire et faire plus avec eux autre que simplement afficher dans mon répéteur (encore une fois, la recherche des enregistrements de cette page que je définis comme DataSource sur mon répéteur)

Ou, je vais à ce sujet dans le mauvais sens et est-il un moyen les retirer du répéteur?

Merci!

Répondre

0

kludgey peut-être, mais je trouve si je regarde en arrière au répéteur je peux tirer les choses au large des contrôles Label que je définis dans le modèle via FindControl, ex:

Dim tmpLabel As New Label 
Dim tmpItem As RepeaterItem 
Dim tmpIDOut As String = "" 

For Each tmpItem In Repeater1.Items 

    tmpLabel = tmpItem.FindControl("IDLabel") 
    tmpIDOut = tmpIDOut & "<BR />" & tmpLabel.Text 

Next