begin process at 2010 07 31 04:45:09
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > [EXEMPLE]CONTROLE REPEATER

[EXEMPLE]CONTROLE REPEATER


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Source .NET ( DotNet ) Classé sous :repeater, control, webcontrol Niveau :Débutant Date de création :07/06/2004 Date de mise à jour :07/06/2004 22:38:30 Vu / téléchargé :20 732 / 582

Auteur : jimmy69

Ecrire un message privé
Site perso
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

P'tit exemple qui montre l'utilisation d'un controle repeater en asp.net
langage utilise vb.net.


Parametrage du controle repeater :
----------------------------------

Le controle repeater comme son nom l'indique, permet
de repeter plusieurs fois le meme code html en liant
chaque element a un enregistrement.

Tout est dans le .zip


Syntaxe generale :
-------------------

<asp:Repeater id="Nomducomposant" runat="server">

<HeaderTemplate>
   contenu html correspondant a l'entete (pas obligatoire)
</HeaderTemplate>

<ItemTemplate>
contenu html correspondant aux elements  (obligatoire)
Placez ici votre gabarit, le moule html
<table>
<tr>
<td>
.....
</table>
</ItemTemplate>

<AlternatingItemTemplate>
si l'on souhaite afficher une ligne sur deux  (pas obligatoire)
</AlternatingItemTemplate>

<SeparatorTemplate>
Contenu du separateur (Pas obligatoire)
</SeparatorTemplate>

<FooterTemplate>
correspond au pied de page(Pas obligatoire)
</FooterTemplate>
          
</repeater>


La liaison entre le gabarit et la source de données correspondante
s'effectue grace a la methode DataBind() du controle Repeater.

Voici sa syntaxe :
------------------

<%# DataBinder.Eval(Container.DataItem, "Votre_champ_a_afficher") %>

Pour faire tourner ce script :
-------------------------------

ouvrez le fichier base.sql situé ds le dossier table et faites un copier coller du contenu ds l'analyseur de requetes
de sql serveur.
Inserez quelques enregistrements afin de pouvoir tester le tout.
ouvrez le fichier global.asax et mettez le nom de votre base, moi j'ai utilise le meme nom pour la base et la table c'est
a dire client :-)!
Ensuite ouvrez le fichier customersdeleteFile avec webmatrix et pressez F5..

Ca roule...

Source

  • <%@ Page Language="VB" Debug="True" %>
  • <%@ import Namespace="System.Data" %>
  • <%@ import Namespace="System.Data.SqlClient" %>
  • <%@ import Namespace="System.Drawing" %>
  • <script runat="server">
  • 'DECLARATION CONNECTION POUR TOUTES LES FONCTIONS
  • Dim myConnection As SqlConnection
  • 'CHARGEMENT DE LA PAGE
  • Sub Page_Load(sender As Object, e As EventArgs)
  • afficheclient()
  • End Sub
  • 'AFFICHAGE DE LA PAGE
  • sub afficheclient()
  • 'declaration variables
  • Dim myAdapter as SqlDataAdapter
  • Dim MyDataTable as DataTable
  • Dim SQL As String
  • 'recuperation de la connection
  • myConnection = Ctype(Session("myConnection"),sqlConnection)
  • 'PROCEDURE STOCKEE
  • sql = "rrcustomers"
  • 'definitoin source de donnees
  • myAdapter = new sqlDataAdapter(sql,myconnection)
  • myAdapter.selectCommand.commandType = CommandType.storedProcedure
  • 'lien avec source de donnees
  • myDataTable = new DataTable()
  • MyAdapter.fill(myDataTable)
  • rcustomers.dataSource = myDataTable.defaultview
  • rcustomers.databind()
  • End Sub
  • 'EVENEMENT ONTIEMCOMMAN
  • Sub OnItemCommand(sender As Object, e As RepeaterCommandEventArgs)
  • 'declaration variables
  • Dim SQL As String
  • Dim myCommand As SqlCommand
  • 'CHAINE SQL SUPPRESSION
  • SQL = "DELETE FROM client WHERE id = "+e.CommandArgument
  • myCommand = new SqlCommand(SQL,myConnection)
  • myCommand.ExecuteNonQuery()
  • afficheclient()
  • End Sub
  • 'EVENEMENT ONITEMCREATED
  • Sub OnItemCreated(sender As Object,e As RepeaterItemEventArgs)
  • Dim myDeleteButton As LinkButton
  • If (e.Item.ItemType=ListItemType.Item) Then
  • myDeleteButton = e.Item.FindControl("btnDelete")
  • myDeleteButton.Attributes.Add("onclick","return confirm('Confirmez-vous la suppression de ce client?');")
  • End If
  • End Sub
  • </script>
  • <html>
  • <head>
  • </head>
  • <body>
  • <form id="titre" runat="server">
  • <link href="feuille.css" type="text/css" rel="stylesheet" />
  • <div align="center"><asp:Label id="Label1" style="Z-INDEX: 100; POSITION: absolute" runat="server">Suppression
  • de personnes dans la table Client</asp:Label>
  • </div>
  • <br />
  • <br />
  • <div align="center">
  • <asp:Repeater id="Rcustomers" runat="server" OnItemCreated="OnItemCreated" OnItemCommand="OnItemCommand">
  • <ItemTemplate>
  • <table bordercolor= "black" cellspacing="0">
  • <tr bgcolor="#aaaadd">
  • <td width="350">
  • <b>Num Customers :</b><%# DataBinder.Eval(Container.DataItem, "ID") %>
  • </td>
  • <td width="70" align="right">
  • <asp:linkbutton id="btndelete" commandArgument='<%# DataBinder.Eval(Container.DataItem, "ID") %>' runat="server"> [Supprimer]</asp:linkButton>
  • </td>
  • </tr>
  • <tr bgcolor="#ffffc0">
  • <td width="350">
  • <b>Nom du client </b><%# DataBinder.Eval(Container.DataItem, "Nom") %>
  • </td>
  • </tr>
  • <tr bgcolor="#ffffc0">
  • <td width="350">
  • <b>Adresse du client : </b><%# DataBinder.Eval(Container.DataItem, "Adresse") %>
  • </td>
  • </tr>
  • <tr bgcolor="#ffffc0">
  • <td width="350">
  • <b>Code postale : </b><%# DataBinder.Eval(Container.DataItem, "CodePostal") %>
  • </td>
  • </tr>
  • <tr bgcolor="#ffffc0">
  • <td width="350">
  • <b>Ville : </b><%# DataBinder.Eval(Container.DataItem, "Ville") %>
  • </td>
  • </tr>
  • </table>
  • </ItemTemplate>
  • <separatorTemplate>
  • <br />
  • </separatorTemplate>
  • </asp:Repeater>
  • </div>
  • </form>
  • </body>
  • </html>
<%@ Page Language="VB" Debug="True" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<%@ import Namespace="System.Drawing" %>
<script runat="server">

    'DECLARATION CONNECTION POUR TOUTES LES FONCTIONS
     Dim myConnection As SqlConnection
    
    
         'CHARGEMENT DE LA PAGE
         Sub Page_Load(sender As Object, e As EventArgs)
    
                    afficheclient()    
         End Sub
    
    
        'AFFICHAGE DE LA PAGE
         sub afficheclient()
    
           'declaration variables
    
              Dim myAdapter      as SqlDataAdapter
              Dim MyDataTable    as DataTable
              Dim SQL            As String
    
           'recuperation de la connection
              myConnection = Ctype(Session("myConnection"),sqlConnection)
    
           'PROCEDURE STOCKEE
              sql = "rrcustomers"
    
            'definitoin source de donnees
              myAdapter = new sqlDataAdapter(sql,myconnection)
              myAdapter.selectCommand.commandType = CommandType.storedProcedure
    
            'lien avec source de donnees
               myDataTable = new DataTable()
               MyAdapter.fill(myDataTable)
    
    
              rcustomers.dataSource = myDataTable.defaultview
              rcustomers.databind()
    
         End Sub
    
    
    
    'EVENEMENT ONTIEMCOMMAN
         Sub OnItemCommand(sender As Object, e As RepeaterCommandEventArgs)
    
         'declaration variables
             Dim SQL As String
             Dim myCommand  As SqlCommand
    
            'CHAINE SQL SUPPRESSION
             SQL = "DELETE FROM client WHERE id = "+e.CommandArgument
    
             myCommand = new SqlCommand(SQL,myConnection)
             myCommand.ExecuteNonQuery()
             afficheclient()
    
         End Sub
    
     'EVENEMENT ONITEMCREATED
    Sub OnItemCreated(sender As Object,e As RepeaterItemEventArgs)
    
             Dim myDeleteButton As LinkButton
    
             If  (e.Item.ItemType=ListItemType.Item) Then
                   myDeleteButton = e.Item.FindControl("btnDelete")
                   myDeleteButton.Attributes.Add("onclick","return confirm('Confirmez-vous la suppression de ce client?');")
             End If
    
         End Sub

</script>
<html>
<head>
</head>
<body>
    <form id="titre" runat="server">
        <link href="feuille.css" type="text/css" rel="stylesheet" />
        <div align="center"><asp:Label id="Label1" style="Z-INDEX: 100; POSITION: absolute" runat="server">Suppression
            de personnes dans la table Client</asp:Label>
        </div>
        <br />
        <br />
        <div align="center">
            <asp:Repeater id="Rcustomers" runat="server" OnItemCreated="OnItemCreated" OnItemCommand="OnItemCommand">
                <ItemTemplate>
                    <table bordercolor= "black" cellspacing="0">
                        <tr bgcolor="#aaaadd">
                            <td width="350">
                                <b>Num Customers :</b><%# DataBinder.Eval(Container.DataItem, "ID") %> 
                            </td>
                            <td width="70" align="right">
                                <asp:linkbutton id="btndelete" commandArgument='<%# DataBinder.Eval(Container.DataItem, "ID") %>' runat="server"> [Supprimer]</asp:linkButton>
                            </td>
                        </tr>
                        <tr bgcolor="#ffffc0">
                            <td width="350">
                                <b>Nom du client </b><%# DataBinder.Eval(Container.DataItem, "Nom") %> 
                            </td>
                        </tr>
                        <tr bgcolor="#ffffc0">
                            <td width="350">
                                <b>Adresse du client : </b><%# DataBinder.Eval(Container.DataItem, "Adresse") %> 
                            </td>
                        </tr>
                        <tr bgcolor="#ffffc0">
                            <td width="350">
                                <b>Code postale : </b><%# DataBinder.Eval(Container.DataItem, "CodePostal") %> 
                            </td>
                        </tr>
                        <tr bgcolor="#ffffc0">
                            <td width="350">
                                <b>Ville : </b><%# DataBinder.Eval(Container.DataItem, "Ville") %> 
                            </td>
                        </tr>
                    </table>
                </ItemTemplate>
                <separatorTemplate>
                    <br />
                </separatorTemplate>
            </asp:Repeater>
        </div>
    </form>
</body>
</html>

 Conclusion

Enjoy
Christophe

http://membres.lycos.fr/annmy sql/

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source .NET (Dotnet) INSERTION / RECUPERATION D'IMAGE STOCKEE DANS UNE DB MS SQL ...
Source .NET (Dotnet) AFFICHER LE CONTENU D'UNE FEUILLE EXCEL DANS UN DATAGRID
Source avec Zip Source .NET (Dotnet) [EXEMPLE] TRANSACTION
Source avec Zip Source .NET (Dotnet) PROCEDURE STOCKEE => INSERTION DES DONNEES DANS UNE TABLE
Source avec Zip Source .NET (Dotnet) P'TIT LIVRE D'OR EN C# AVEC UN FICHIER XML POUR STOCKER LES ...

 Sources de la même categorie

Source avec Zip SÉRIALISER / DÉSÉRIALISER DES VARIABLES EN ASP par lejdu
CREATION D'UN AUTOCOMPLETE JQUERY AVEC UN CODE SOURCE ASP ET... par dedebis84
Source .NET (Dotnet) RÉCUPÉRER DES VALEURS D'UNE LIGNE DANS UN DATAGRID APRÈS AVO... par PascalCmoa
Source avec Zip Source avec une capture Source .NET (Dotnet) UN SEMBLANT DE MASTERPAGE POUR DES FICHIERS XSL par bizzard4
Source avec Zip CRÉATION DE RAPPORTS EXCEL DYNAMIQUE EN ASP par foliv57

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) WEBCONTROL DATEPICKER WEBCONTROLLIBRARY par fredzool
Source avec Zip Source avec une capture Source .NET (Dotnet) PAGINATION CONTRÔLE REPEATER ASP.NET AVEC UN DATASET par fabienfs
Source avec une capture Source .NET (Dotnet) .NET 2.0: CONTRÔLE IMAGE VIEWER / UPLOADER par gldfdp
Source avec Zip Source .NET (Dotnet) CRAWLABLELINKBUTTON : UPDATEPANEL ET RÉFÉRENCEMENT par jesusonline
Source avec Zip Source .NET (Dotnet) VILLE EN FONCTION DU CP SOUS FORME DE CONTROLE ET SANS POSTB... par jesusonline

Commentaires et avis

Commentaire de padova le 08/06/2004 17:45:14

Merci Jimmy69 pour cette info. As-tu une idée comment différencier le premier record du repeater par rapport aux suivants. Par exemple, je voudrais afficher la première adresse en rouge et les suivantes dans une autre couleur. Une brillante idée ?

Commentaire de jimmy69 le 08/06/2004 20:46:17

salut salut padova,

Oui une brillante idée...mais honnetement je ne vois pas trop comment faire....car je t'avoue que je debute avec ce langage....

Mais je vais y cogiter....crois moi et si je trouve je te fais signe...

Passes une bonne semaine

ciao

Commentaire de padova le 08/06/2004 21:08:47

Bonsoir Jimmy69, merci d'avance pour ton temps.

Commentaire de dubvibe le 16/06/2004 10:57:42

Bonjour,
Pour différencier le 1er enregistrement, tu as une propriété :  OnItemDataBound
Donc tu rajoute au taf &lt;asp:repeater&gt; :  OnItemDataBound="DataGridOrder_ItemDataBound"

Et dans ton .vb une fonction du style :
Public Sub DataGridOrder_ItemDataBound(ByVal sender As System.Object, ByVal e As DataGridItemEventArgs) Handles DataGridOrder.ItemDataBound
      If (e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem) Then
            ' Ici ton check pour savoir si c'est le premier ( fonction à retrouver dans la doc... )
            If ... Then
   e.Item.BackColor = System.Drawing.Color.LightGray
            End If
      End If
End Sub

Voilà...

Commentaire de jimmy69 le 19/06/2004 14:32:50

salut salut dubvibe

Superbe je vais tester de suite...

A bientot

ciao dubvibe

Commentaire de KC62 le 12/04/2006 11:46:51

Salut !
Merci pour ce code ! Trés utile pour apprendre un peu ;-)

KC62

Commentaire de jimmy69 le 13/04/2006 09:55:31

salut salut KC62,

c'est ca que je trouve geniale dans l'info ..c'est le partage des connaissances ..

vive la communaute ..

Christophe
un bouillonnais

Commentaire de KC62 le 13/04/2006 10:14:35

re Jimmy69

La diversité des langages fait que tu n'aide pas toujours celui qui t'aide, mais un autre dans un autre langage. Par exemple moi je débute carrément en ASP/C# (1 semaine de travail à mon actif, gloup's). Mais je peux aidé en VB, en JAVA, etc...

Alors merci a toi, merci à tous, et que le partage continue !

Commentaire de agnesh le 10/05/2006 13:10:06

Bonjour,
je débute en asp.net après avoir fait beaucoup d'asp et je n'arrive pas à trouver comment modifier la couleur d'une ligne de donnée en fonction du code postal par exemple. en fait mon problème est de réussir à modifier une ligne de donnée en fonction d'une des données de la ligne comment lire la onnée sans l'afficher.
POUR AFFICHER LA DONNEE / <%# databinder.Eval(Container.Dataitem,"Champ de la données")%> mais si dans mon controle repeater je veux mettre une exception du genre <% if databinder.eval(Container.Dataitem,"Champ") < 1200 then %> bgcolor=red <% else %> bgcolor=green <% end if%>
Pouvez vous m'aider.
Merci d'avance,

Commentaire de jimmy69 le 10/05/2006 18:30:52

salut salut agnesh,

ca fait un moment que je ne fais plus d'asp.net !

je te promets rien je vais regarder mais si tu es presse je te conseille de poster ta Q dans le forum !

Bonne fin de semaine

Christophe
un bouillonnais

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

access au control de la page "parent" dans webcontrol [ par apacheswiss ] Bonjour, je voudrais savoir si c'était possible comme en WinForm,de pouvoir acceder au control d'une Page ASPX depuis le code behind de webcontrol (AS Chargement dynamique User Control / Evenement OnClick non intercepté [ par ludo_it ] Bonjour,Je suis en train de créer une application web avec un catalogue de produit. Je voudrais lister mes produit de la manière suivante :Categorie 1 Accéder à un control situé sur une page .aspx depuis un .ascx [ par sylvebarbe ] Bonjour,Je cherche un moyen pour accéder à un control situé sur page .aspx depuis un controle ascx situé sur cette même page. J'ai bien essayé le code Comment accéder à un control d'une Web Content Page depuis un .ascx ? [ par sylvebarbe ] Bonjour,Au secours !Je cherche un moyen pour accéder à un control situé sur une page .aspx depuis un controle ascx situé sur cette même page. Le code [ASP .NET2] Utilisation du control state [ par prezz ] Bonjour à tous,je possède deux pages. Une première avec une liste paginée qui contient un webcontrol que j'ai créé moi-même. Une deuxième avec un déta création d'un control dans le code-behind et ajout dans la page aspx [ par tom741pawa ] Bonjour à tous,J'ai une question qui est peut être un peu bête ^^.J'ai crée une table dans mon code behind et je voudrai tout bêtement la faire appara Custom control en Code behind ... [ par stephsk09 ] Bonjour,développant une application nécessitant pas mal de contrôle personnalisés je voulais savoir comment il était possible de charger dynamiquement Login WebControl et UICulture [ par Snekemoa ] Bonjour,j'utilise actuellement le control Login sur un site en asp.Net 2.0Dans le web.config, quand je modifie Culture et UICulture j'ai l'impression Usercontrol menu categorie ? [ par Alex001 ] Bonjour à tous,Je travail sur Dashcommerce open source et je souhaite modifié le menu catégorie.c'est un control user (*.ascx) composé d'un webcontrol Afficher un graphique dans un webcontrol Image [ par PascalCmoa ] Bonjour à tous,Je suis désolé, mais je vais jouer au boulet parce que là je sèche. Je viens de créer un code qui m'affiche un histogramme assez cool.


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Juillet 2010
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales