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 :

Grid View Dynamique


Sujet :

ASP.NET

  1. #1
    Membre expérimenté Avatar de AJemni
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2008
    Messages : 242
    Par défaut Grid View Dynamique
    Mon problème est le suivant:

    construire un web contrôle : gridview dynamique: la construction est dynamique à l'aide des TemplateField(s) : le construction du squelette et le chargement des données se fait à l’aide d’un dll
    avec possibilité de choisir les commandes à apparaitre (insertion, suppression, modification…), les propriétés de la grid(affichage du Footer, affichage du header, pagination…) sont modifiable et le nombre des colonnes et celui de la requêtes SQL ainsi qu’une modification des propriétés des colonnes tel que la visibilité, enable, l’alignement …
    La grid peut contenir des testbox(s) et des DropDownList(s) ;
    L’insertion d’une nouvelle ligne est faite à l’aide de footer : l’insertion des données est dans un champ se trouvant dans le footer associées à chaque colonne. La validation de l’insertion est assurée par un bouton se trouvant dans la cellule 0 du footer (btnInserer) : en faite le problème est en ce point.
    Lors de création du squelette de grid on associe les propriétés suivantes au bouton btnInserer
    _ btnInserer .ID = "btnInserer"
    _ btnInserer .CommandName = "Insert"

    Mais à l’exècution, l’evenement sur le boutton n’est pas prise en compte ,encore plus, la grid se décharge. Et si j’ajoute le segment du code suivant lors du creation de ce boutton :
    AddHandler _ btnInserer .Click, AddressOf OnbtnClik
    et je donne à OnbtnClik le même delegué que _ btnInserer.Click une autre probème se pose : l’exècution des chaque evenement sur la grid telque « OnRowDeleting », « OnRowUpdating ».. s’exècute 2 fois!
    SVP, Si quelqu’un a une solution m’aide, c super urgent

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Par défaut
    Bonjour,

    j'ai également créé une insertion dans un gridview dans le footer et qui marche mais je ne sais pas si ça va répondre à ta question. Voici des parties 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
     
                        <asp:CommandField ShowEditButton="True" />
                        <asp:TemplateField HeaderText="No ID" SortExpression="id">
                            <ItemTemplate>
                                <asp:Label ID="diplomeID" runat="server" Text='<%# Bind("id") %>'></asp:Label>
                            </ItemTemplate>
                            <FooterTemplate>
                                <asp:Button ID="AjoutDip" Text="Ajouter" ValidationGroup="Ajout" 
                                            runat="server" onclick="InsertDip" />                                
                            </FooterTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="Libellé" SortExpression="libelle">
                            <ItemTemplate>
                                <asp:Label ID="Libel" runat="server" Text='<%# Bind("libelle") %>'></asp:Label>
                            </ItemTemplate>
                            <FooterTemplate>
                                <asp:TextBox ID="NewLibelle" ValidationGroup="Ajout" runat="server"></asp:TextBox>
                                <asp:RequiredFieldValidator ID="RequiredFieldValidatorNewLib" ValidationGroup="Ajout" 
                                    runat="server" ControlToValidate="NewLibelle" Display="Dynamic" 
                                    ForeColor="Red" ErrorMessage="Le libellé est obligatoire.">
                                      * </asp:RequiredFieldValidator>                            
                            </FooterTemplate>
                            <FooterStyle Wrap="false" />
                        </asp:TemplateField>
     
    ...
     
                  <asp:SqlDataSource ID="SqlDataSourceDip" Runat="server" 
                    SelectCommand="SELECT [id], [libelle], [libellelong] FROM [diplome]"
                    InsertCommand="INSERT into diplome (libelle, libellelong) values (@NewLibelle, @NewLibellelong)"
                    UpdateCommand="UPDATE [diplome] SET [libelle] = @libelle, [libellelong] = @libellelong WHERE [id] = @id"
                    DeleteCommand="DELETE from diplome where Id = @Id" 
     
    ...
     
                    <InsertParameters>
                        <asp:Parameter Name="NewLibelle"/>
                        <asp:Parameter Name="NewLibellelong"/>                    
                    </InsertParameters>
                    <DeleteParameters>
                        <asp:Parameter Name="diplomeID" />
                    </DeleteParameters>          
                    <UpdateParameters>
                        <asp:Parameter Name="libelle"/>
                        <asp:Parameter Name="id" />
                    </UpdateParameters>
     
    ...
    et dans le .cs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        protected void InsertDip(object sender, EventArgs e)
        {
            TextBox newlibtxt = (TextBox)GVDiplomes.FooterRow.FindControl("NewLibelle");
            SqlDataSourceDip.InsertParameters["NewLibelle"].DefaultValue = newlibtxt.Text;
            TextBox newliblongtxt = (TextBox)GVDiplomes.FooterRow.FindControl("NewLibellelong");
            SqlDataSourceDip.InsertParameters["NewLibellelong"].DefaultValue = newliblongtxt.Text;
     
            SqlDataSourceDip.Insert();
        }
    Là, l'insertion fonctionne sans problème.
    Par contre, moi, j'ai un autre problème, c'est que depuis que j'ai rajouté l'insertion, l'update ne marche plus.
    Si tu voyais d'où ça peut venir ?

Discussions similaires

  1. Trier un grid view
    Par arnogb69 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/08/2007, 20h12
  2. Pagination Grid View
    Par Mohammmed dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 26/07/2007, 17h41
  3. txtBox et Grid View
    Par jerome@onplonge dans le forum C#
    Réponses: 5
    Dernier message: 05/06/2007, 18h39
  4. data grid view
    Par philguio dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/01/2007, 21h44
  5. Tree view dynamique
    Par oravelon dans le forum ASP
    Réponses: 1
    Dernier message: 08/08/2005, 17h00

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