IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[ASP.net 2.0] Cloner une GridViewRow


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Par défaut [ASP.net 2.0] Cloner une GridViewRow
    Salut les jeunes,

    Voilà mon problème : je souhaite permettre à mes utilisateurs d'ajouter ou supprimer grâce à deux boutons "+" et "-" des lignes dans une GridView, sachant qu'il faut toujours qu'il y ait au moins une ligne (présente au départ) et que celles ajoutées doivent contenir exactement les mêmes contrôles que l'originale (en l'occurrence des asp:TextBox).

    Quelque chose dans ce goût-là :

    ----------------------------------------------
    Nom : |______________|
    Prénom : |____________|
    Adresse : |___________|
    ----------------------------------------------
    Nom : |______________|
    Prénom : |____________|
    Adresse : |___________|
    ----------------------------------------------
    |+| |-|

    Je pense que c'est envisageable mais... comment? Une suggestion de méthode? Un mot clef à chercher dans Google? Un tutoriel?

    D'avance merci.

  2. #2
    Membre éclairé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Par défaut
    Bon finalement la GridView c'était une fausse bonne idée. Je l'ai compris quand j'ai vu que ma GridView était toujours vide puisque... je n'ai aucune collection de données à laquelle la relier...

    Du coup je suis revenu à ma première idée, utiliser une asp:Table.

    Donc voilà un exemple de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    <asp:Table ID="TableOnglet" runat="server" CssClass="TableOnglets">
        <asp:TableRow>
            <asp:TableCell CssClass="CelluleDescription">
                <table>
                    <tr>
                        <td>
                            Titre de l''onglet&nbsp;:</td>
                        <td class="CelluleTexte">
                            <asp:TextBox ID="TextBoxOngletTitre" runat="server">
                            </asp:TextBox>
                        </td>
                    </tr>
                    <tr id="RowInstallation">
                        <td class="CelluleDescription" style="font-style: italic">
                            Installation&nbsp;:</td>
                        <td class="CelluleTexte">
                            <asp:TextBox ID="TextBox1" runat="server">
                            </asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td class="CelluleDescription">
                            Nom&nbsp;:</td>
                        <td class="CelluleTexte">
                            <asp:TextBox ID="TextBoxOngletNom" runat="server">
                            </asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td class="CelluleDescription">
                            Adresse 1&nbsp;:</td>
                        <td class="CelluleTexte">
                            <asp:TextBox ID="TextBoxOngletAdresse1" runat="server">
                            </asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td class="CelluleDescription">
                            Adresse 2&nbsp;:</td>
                        <td class="CelluleTexte">
                            <asp:TextBox ID="TextBoxOngletAdresse2" runat="server">
                            </asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td class="CelluleDescription">
                            Code postal&nbsp;:</td>
                        <td class="CelluleTexte">
                            <asp:TextBox ID="TextBoxOngletCodePostal" runat="server">
                            </asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td class="CelluleDescription">
                            Ville&nbsp;:</td>
                        <td class="CelluleTexte">
                            <asp:TextBox ID="TextBoxOngletVille" runat="server">
                            </asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td class="CelluleDescription">
                            Téléphone&nbsp;:</td>
                        <td class="CelluleTexte">
                            <asp:TextBox ID="TextBoxOngletTelephone" runat="server">
                            </asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td class="CelluleDescription">
                            Fax&nbsp;:</td>
                        <td class="CelluleTexte">
                            <asp:TextBox ID="TextBoxOngletFax" runat="server">
                            </asp:TextBox></td>
                    </tr>
                </table>
            </asp:TableCell>
        </asp:TableRow>
    </asp:Table>
    Ce que je voudrais c'est faire une copie de cette première TableRow (inaltérable) et ajouter la copie comme deuxième TableRow, puis troisième, puis quatrième (en fonction du click sur un bouton "+", avec les extensions Ajax). Mais ce qui me chiffone ce sont les ID des TextBox.

    Bref je nage toujours dans le flou...

  3. #3
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    Les lignes representent quoi concretement. Une colection ? Des lignes d'une table de ta bd ?

    Je préfère la piste du GridView.

  4. #4
    Membre éclairé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Par défaut
    J'ai eu une réponse très concluante sur les forums ASP.net de Microsoft, mais au final j'ai un gros pépin : à chaque ajout ou suppression d'une ligne dans le repeater (car finalement c'est un repeater), le contenu de toutes les lignes est vidé, ce qui est un peu emmerdant vous avouerez...

    A mon avis je ne m'y prends pas comme il faudrait.

  5. #5
    Membre expérimenté
    Avatar de SoBaKa
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Par défaut
    Citation Envoyé par strat0 Voir le message
    J'ai eu une réponse très concluante sur les forums ASP.net de Microsoft, mais au final j'ai un gros pépin : à chaque ajout ou suppression d'une ligne dans le repeater (car finalement c'est un repeater), le contenu de toutes les lignes est vidé, ce qui est un peu emmerdant vous avouerez...

    A mon avis je ne m'y prends pas comme il faudrait.
    tu dois passer par des variables de sessions afin de stocker ce qu'il y a déjà dans ton repeater (la collection que tu as bind par exemple ou ton dataset, ...) refaire le bind et ensuite faire l'ajout d'une ligne...

Discussions similaires

  1. Réponses: 27
    Dernier message: 09/09/2009, 12h17
  2. Réponses: 2
    Dernier message: 29/05/2007, 10h31
  3. [ASP .NET 2.0] Ouvrir une popup en code-behind
    Par aloisio11 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 15/05/2007, 11h46
  4. [ASP.NET] Controler la dimension une image
    Par Azephel dans le forum ASP.NET
    Réponses: 2
    Dernier message: 14/02/2007, 08h55
  5. [ASP.Net/GridView] Comment effectuer une jointure ?
    Par nikalkal dans le forum Accès aux données
    Réponses: 3
    Dernier message: 20/07/2006, 09h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo