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 :

GridView et CommandField : object data source obligatoire?


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 43
    Par défaut GridView et CommandField : object data source obligatoire?
    Bonjour à tous,

    Je cherche à mettre dans la gridview de ma webform une colonne avec un CommandField afin de passer une autre colonne, celle des CheckBox en mode édition (Enabled à true) et obtenir à la place de l'Image "Edition" du CommandField les deux images "cancel" et "Validate".
    Problème : quand je clique sur mon icône "edition" de ma commandField, j'obtiens une belle exception.

    Mon 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
    <Columns>
         <asp:CommandField ButtonType="Image" 
                CancelImageUrl="~/ressources/gif/CancelRow.gif" 
                EditImageUrl="~/ressources/gif/EditRow.gif" ShowEditButton="True" 
                UpdateImageUrl="~/ressources/gif/ValidateRow.gif" />
        <asp:BoundField DataField="name" SortExpression="name" HeaderText="Name"></asp:BoundField>
        <asp:BoundField DataField="published" SortExpression="name" HeaderText="Published" Visible="true"></asp:BoundField>
        <asp:BoundField DataField="id" SortExpression="id" HeaderText="Id" Visible="true"></asp:BoundField>
        <asp:TemplateField HeaderText="Published">
            <ItemTemplate>
               <asp:CheckBox ID="CheckBoxPublished" Checked='<%# Convert.ToBoolean(Convert.ToByte(Eval("published"))) %>' Enabled="false" runat="server" />
           </ItemTemplate>
        </asp:TemplateField>
        </Columns>

    Mon exception :
    Le GridView 'GridViewWorflowsPublishing' a déclenché un événement RowEditing qui n'était pas géré.
    Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.Web.HttpException: Le GridView 'GridViewWorflowsPublishing' a déclenché un événement RowEditing qui n'était pas géré.
    J'ai déjà vu ce genre de code fonctionner sans implémentation du GridViewWorflowsPublishing_RowEditing dans le code behind mais le gridView avait un ObjectDataSource, c'est donc obligatoire?
    Sinon, je dois implémenter tous les événements dans le code behind?
    Mais comment faire apparaitre dans ce cas les deux icônes cancel et validate dans la colonne après l'edition?
    Question de base mais je débute, je suis désolée......Aidez-moi

    En vous remerciant pour vos conseils et votre patience,
    Gaëlle.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 43
    Par défaut
    Bonjour à tous,

    Je réponds à ma question:
    Il faut effectivement configurer un ObjectDataSource qui "pointe" vers les requêtes SQL "select" et "update" et là, tout fonctionne bien, on passe tranquillement du mode "edition" au mode "update" ou "cancel" avec les jolis icônes qui vont bien......
    Mais quand même, comme je suis une tête de mule, je me demande comment développer ce même comportement d'un "CommandField" SANS ObjectDataSource , quelqu'un a déjà fait ça? C'est possible?
    Des idées pour faire ça avec la gestion des events?

    Merci et bonne journée,
    Gaëlle.

  3. #3
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Je suis pas certain d'avoir tout compris, mais oui, une gridview a toujours besoin d'une source de données.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Biensûr que c'est possible sans passer par un ObjectDataSource.
    Si tu lis bien le message d'erreur que tu as, tu verras que tu dois intercepter un événement précis dans ton code behind.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 43
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Biensûr que c'est possible sans passer par un ObjectDataSource.
    Si tu lis bien le message d'erreur que tu as, tu verras que tu dois intercepter un événement précis dans ton code behind.
    Oui, j'ai bien compris qu'il fallait gérer les différents événements de la gridview en code behind [pour se passer du mode automatique impliqué par le ObjectDataSource ] mais de là à réussir à afficher deux icônes côte à côte dans une même colonne [un pour la validation, l'autre pour l'abandon], tu aurais un exemple de code ?!!
    Pour l'appel des objets de la base de données et des transactions Oracle, pas de problème, c'est plus pour afficher deux boutons dans une même colonne de gridview et gérer les events "click" dessus.


    Merci beaucoup pour votre aide,
    Gaëlle.

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/06/2015, 14h12
  2. Local Report et Object Data Source
    Par maxBoisHD dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/02/2014, 08h56
  3. Réponses: 5
    Dernier message: 19/05/2009, 12h08
  4. Object data source liée à une propriété d'un usrctrl
    Par Immobilis dans le forum ASP.NET
    Réponses: 2
    Dernier message: 09/05/2008, 13h52
  5. [WSAD5][DATA SOURCE][MYSQL]
    Par scape dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 02/02/2005, 10h50

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