Aller au contenu
Règlement du forum ×
IPTV et arnaques ×

Comment ajouter un pager (pagination) à un datalist asp.net


getule

Messages recommandés

Le datalist est nativement dépourvu d'un pager contrairement au datagridview. c'est d’ailleurs l'une des raison de qui le rend moins utilisable par les développeurs asp.net, alors qu'il offre une facilité de de paramétrage intéressante.

 

un datalist avec un pager sera un composant intéressant d'affichage de donner (idem pour le repeater).

voyons comment en ajouter un pager à un datalist ou à un repeater avec le PagedDataSource.

 

je vous donne ici le code en vb fonctionnant correctement chez moi voir l'exemple cliquez ici pour voir l'exemple (source: http://forum.diafdz.com/yaf_postst4_ASP-NET-VB-Comment-ajouter-un-pager-a-un-datalist.aspx

 

Tout d'abord il faut importer System.Data

Code:

?

[TABLE=width: 0]

[TR=bgcolor: initial !important]

[TD=class: gutter, bgcolor: initial !important]

1

[/TD]

[TD=class: code, bgcolor: #F9F9F9]

Imports System.Data

[/TD]

[/TR]

[/TABLE]

 

 

 

 

 

Puis créons une procédure de mon pager

Code:

?

[TABLE=width: 0]

[TR=bgcolor: initial !important]

[TD=class: gutter, bgcolor: initial !important]

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

[/TD]

[TD=class: code, bgcolor: #F9F9F9]

Private Sub Monpager()

'Faisons instancier un objet PagedDataSource

Dim objPds As New PagedDataSource()

'Déclarons un dataview qui sera remplit par les données de monSqlDataSource (le SqlDataSource utilisé pour se connecté avec votre table)

Dim dv As DataView = DirectCast(MonSqlDataSource.[select](DataSourceSelectArguments.Empty), DataView)

' Pointer le dataSource de votre objetPagedDataSource vers le DataView rempli au préalable avec Monsqldatasource

objPds.DataSource = dv

objPds.AllowPaging = True

objPds.PageSize = 5 ' nombre d'enregistrement à afficher sur une page

objPds.CurrentPageIndex = CurrentPage

'Ajouter un label qui affichera le nombre de pages et la page courante

Label1.Text = "Page: " & (CurrentPage + 1).ToString() & " sur " & objPds.PageCount.ToString()

' Ajouter deux LinkButton (Suivant et Précédent)

' Ces boutons serons désactivés s'il sont à la fin du déroulement du pager

Me.LinkButton1.Enabled = Not objPds.IsFirstPage

Me.LinkButton2.Enabled = Not objPds.IsLastPage

' Lier votre datalist avec ObjetDataSource déja rempli

DataList1.DataSource = objPds

'N'oublie pas de binder votre datalist

DataList1.DataBind()

End Sub

[/TD]

[/TR]

[/TABLE]

 

 

 

 

 

Maintenant faites un appel à la procédure pager en chargeant la page

Code:

?

[TABLE=width: 0]

[TR=bgcolor: initial !important]

[TD=class: gutter, bgcolor: initial !important]

1

2

3

4

5

[/TD]

[TD=class: code, bgcolor: #F9F9F9]

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

If Not IsPostBack Then

ppager()

End If

End Sub

[/TD]

[/TR]

[/TABLE]

 

 

 

 

 

Créons la propriété currentPage

Code:

?

[TABLE=width: 0]

[TR=bgcolor: initial !important]

[TD=class: gutter, bgcolor: initial !important]

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

[/TD]

[TD=class: code, bgcolor: #F9F9F9]

Public Property CurrentPage() As Integer

Get

' Cherchons la la ViewState de lapage courante

Dim o As Object = Me.ViewState("_CurrentPage")

If o Is Nothing Then

Return 0

Else

' sinon affiche la première page

Return CInt(o)

End If

End Get

Set(ByVal value As Integer)

Me.ViewState("_CurrentPage") = value

End Set

End Property

[/TD]

[/TR]

[/TABLE]

 

 

 

 

 

enfin créons les procédures évènementielles des LinkButton (suivant et précédent)

Code:

?

[TABLE=width: 0]

[TR=bgcolor: initial !important]

[TD=class: gutter, bgcolor: initial !important]

1

2

3

4

5

6

7

8

9

10

11

12

13

14

[/TD]

[TD=class: code, bgcolor: #F9F9F9]

Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkButton2.Click

CurrentPage -= 1

Monpager()

End Sub

Protected Sub LinkButton2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkButton3.Click

CurrentPage += 1

Monpager()

End Sub

[/TD]

[/TR]

[/TABLE]

 

 

 

 

 

Et vous voilà avec un datalist fonctionnant avec une pagination

cordialement

Lien vers le commentaire
Partager sur d’autres sites

Pourquoi je prèfère l'asp.net?

Des controles puissants : en effet en asp.net on peu trouver des controles trés puissants, bien plus puissant que les controles html standards. En fait en asp.net il y a les webforms qui sont des controles qui gènèrent du html et du javascript vers le navigateur client. Un exemple parmis d'autres, le datagrid te permet d'afficher des données tabulaire et de les éditer bien plus rapidement qu'en php, juste un objet à lier à une source de données.

 

Des pages compilées : l'une des grosses différences entre asp.net et php est que le php est un script interprété, l'asp une application compilée. La compilation permet d'optimiser le code qui s'exécute et facilite aussi le débuggage.

 

Lisibilitée et maintenance du code : en php on a les script qui s'exécutent coté client, ceux qui s'exécutent coté serveur et le code html qui sont mélangé dans un seul fichier et avec plusieurs scripts "entrelacés", en asp.net, le modèle webform limite l'utilisation du javascript dans les pages asp.net (le controle génère le javascript et le html nécessaire au rendu souhaité) et les partie de code qui s'éxécutent coté client et coté serveur sont clairement séparés, on peut même ne pas les mettre dans le même fichier.

 

Un code 100% objet : même si le php permet de coder de mannière objet, les traitement asp.net coté serveur se font en VB.NET, C# ou J#, mais ces 3 langages sont trés orientés objet. On peu faire de l'objet en php, mais le langage s'y prette moins, parait que ça s'est amélioré dans php5

 

Les applets : pour un intranet plus "riche" tu peux faire des applets .NET, mais attention chaque client qui utilise une applet devra alors avoir le framework .NET installé. L'avantage est que tu peux avoir access à des controle beaucoup plus riches trés proches de la MFC, des controles bien plus riches que dans une applet java.

 

et puis c'est une question de choix primaire et d'habitude.

je n'ai pas pour autant oublié que php est opensource et gratuit (:-))! alors que les ide professionnels comme visual studio professionnel n'est pas du tout gratuit, to^^^^ois des ide pour asp gratuit ça existe.

Modifié par getule
  • Like 2
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • Messages

    • Or ou pyrite : Comment éviter la supercherie de la pyrite également connue sous le nom d’« or du fou » ? Ce qu'est la pyrite: Les scientifiques écrivent la formule chimique de la pyrite comme «FeS2». Vous voyez, les symboles chimiques du fer et du soufre sont respectivement « Fe » et « S ». Et chaque molécule de pyrite contient un atome de fer avec deux atomes de soufre. Distinguer l’or et la pyrite: Nous (les géologues) savons que sur l’échelle de dureté des minéraux connue sous le nom d'échelle de Mohs,  l’or a un classement de 2,5 à 3. Au fur et à mesure que les éléments disparaissent, il est plutôt mou, et une pépite d’or peut ainsi facilement être grattée avec un couteau de poche. La pyrite a ici l’avantage d’être plus dur et se situe entre 6 et 6,5 sur l’échelle. Un couteau ne suffira pas, vous aurez besoin d’une lime métallique de haute qualité pour le rayer. Frapper de la pyrite avec un marteau  enverra des étincelles. Si vous êtes assez persistant, la pyrite se brisera et finira par se réduire en poudre. Rien de tout cela ne se produit lorsque vous frappez de l’or avec un marteau: pas d’étincelles, pas de poudre. Au lieu de cela avec de l'or, vous pourriez finir par tordre ou aplatir l’échantillon. Non seulement l’or est tendre, mais il est malléable. Différences visuelles Visuellement, les deux matériaux sont jaunâtres, mais l’or est moins cuivré que la pyrite et brille plus . Il ne forme pas non plus de cristaux en forme de cube, comme le fait souvent la pyrite. Au contraire, la plupart de l’or rencontré sur le terrain prend la forme de flocons ou de pépites grumeleuses. L’or laissera également une trace jaune s’il est frotté contre un morceau de porcelaine ou de céramique blanche. Répétez cette même expérience avec de la pyrite et cela laissera une ligne plus sombre, noir verdâtre Spécificité de la pyrite à l'odorat Si vous avez encore des doutes, votre odorat peut aussi vous aider. Bien que l’or soit pratiquement inodore, la pyrite a une légère odeur – et ça sent les œufs pourris car riche en souffre. Test rapide , pratique simple de bijoutiers Les bijoutiers frottent un bijou non poinçonné (non garantit)  sur une céramique. La céramique est un des matériaux les plus résistants au frottement. Aussi, afin de s'assurer rapidement de la nature d'un bijou, ils utilisent une plaque en céramique non émaillée et le grattent  à sa surface. Si une marque noire apparaît, le bijou est fait d’un alliage indéterminé. À l’inverse si la friction laisse derrière elle une marque dorée, c'est bien en or.  
    • Toujours 15 sur Madrid pour ma part...
    • salam déjà ci tu regarde sur la page web de ton ONT tu trouver la référence actuel et la valeur de référence    ONT Information   Current Value Reference Value Optical Signal Sending Status Auto Auto TX Optical Power: 2.35 dBm 0.5 dBm to 5 dBm RX Optical Power: -19.07 dBm -27 dBm to –8 dBm Working Voltage: 3402 mV 3100 mV to 3500 mV Bias Current: 7 mA 0 mA to 90 mA Working Temperature: 50 ℃ –10 to +85 ℃    
    • Voila mon signal dbm j'ai 100 mb et pour le Modem j'ai le nokia blanc 
    • Question au gens qui on fait une demande d'augmentation de débit, que ca soit par l'espace client, en appelant le 12, par Facebook ou par l'agence commercial, combien ont ils pris pour l'effectuer? Au bout de quelques heures, juste après minuit ou vous avez attendu 48h?
×
×
  • Créer...