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 :

Souci avec la DataKeyName d'un GridView


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Souci avec la DataKeyName d'un GridView
    Salut

    J'ai mis en place un GridView et je voudrais utiliser le DataKeyName pour mieux gérer mes actions.
    J'ai donc ouver la MSDN et j'ai regardé le code en exemple, mais ça fait pas pareil chez moi.

    Voilà le code pour faire plus clair.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <asp:SqlDataSource ID="sdsPageListe" runat="server" ConnectionString="<%$ ConnectionStrings:CS %>"></asp:SqlDataSource>
    <asp:GridView ID="gvPageListe" runat="server" DataSourceID="sdsPageListe" AutoGenerateColumns="false"></asp:GridView>
    Et le CodeBehind
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    sdsPageListe.SelectCommand = "SELECT Id_Page, Titre, txtLien FROM MILI_Pages WHERE Appl_Name = '" & Request.Url.Host & "' ORDER BY StatutConnection, PresentNav DESC, OrdrePage"
    sdsPageListe.UpdateCommand = "UPDATE MILI_Pages SET Titre = @Titre, txtLien = @txtLien WHERE Id_Page = @Id_Page"
     
    gvPageListe.DataKeyNames = "Id_Page"
    Mais il me dit que :
    Une valeur de type 'String' ne peut pas être convertie en 'Tableau à 1 dimension(s) de String'.
    Sauf que là, je vois pas trés bien ce qu'il veut exactement et surtout, dans la MSDN ils ont fait comme j'ai fait.
    La seule différence notable c'est que dans la MSDN le AutoGenerateColums est à True, alors que moi il est à False, parce que je dois fabriquer mes colonne à la main.

    Pouvez vous m'aider ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 70
    Par défaut
    Peut-être que ton champ que tu réfère dans ta base de données est en texte. Il faut sûrement que tu lui passe un entier dans ta bdd pour que cela fonctionne.

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Le champs en question est un INT avec un compteur dans la table.

    Une autre idée ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 70
    Par défaut
    Peut-être que le DataKeyName par défaut n'est pas le bon, c'est une possibilité. Sinon j'ai pas d'autre idées qui viennent...

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur / DBA
    Inscrit en
    Septembre 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur / DBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 133
    Par défaut
    pour la syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      GridView.DataKeyNames = New String() {"tonchampdanslabase"}
    Moi j y met des type sql uniqueidentifier des entier des doubles sans problème, par contre il faut faire ça après le databind ou après avoir lié ta datasource au gridview

    et pour récupérer ta valeur par la suite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       Dim vKey As DataKey = GridView.DataKeys(e.NewSelectedIndex)

  6. #6
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour ton aide.

    Je trouve ça bizarre comme syntaxe, d'autant qu'elle n'est pas dans la MSDN.

    Par contre, pour la récupération, j'ai pas eu besois. Ma requête UPDATE fonctionne toute seule telle que ej 'lai mise dans mon code au départ du topic.

    Mais je note ta syntaxe de récupération, ça pourrait peut être me servir dans les RowCommand, pour faire des traitements un peu plus spécifiques.

    En tout cas merci digitaldna

Discussions similaires

  1. [Débutant] soucis avec suppression gridview
    Par doumbix dans le forum Windows Forms
    Réponses: 9
    Dernier message: 01/12/2012, 22h16
  2. [asp.net 2 - c# 2] Petit souci avec un gridview
    Par alexandre_69 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/07/2007, 21h54
  3. quelques soucis avec word 2000
    Par ramchou dans le forum Word
    Réponses: 3
    Dernier message: 06/09/2004, 18h13
  4. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52
  5. Réponses: 4
    Dernier message: 16/02/2003, 12h16

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