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 :

RowUpdating : ne reconnait pas e.NewValues


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 111
    Par défaut RowUpdating : ne reconnait pas e.NewValues
    Bonjour à tous,

    J'essaye d'obtenir les valeurs que j'ai entrées dans une GridView en mode 'Edit'.

    Après avoir cliqué sur Edit, je mets à jour les champs puis je clique sur Update.

    L'événement RowUpdating se declenche et j'essaye d'obtenir les valeurs par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
      {
        GridViewRow row = GridView1.Rows[e.RowIndex];
        string strTestID = e.NewValues[0]; 
    ...
    Et le dernière ligne plante avec comme message :

    System.ArgumentOutOfRangeException: L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.
    Nom du paramètre : index

    Donc cela prouve qu'il ne reconnaît pas la collection NewValues ou que la collection est vide.

    Pourriez-vous m'aider ?

    Merci beaucoup.

    Laurent_Diep.

  2. #2
    Membre éclairé Avatar de medtun.net
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    Citation Envoyé par laurent_diep Voir le message
    Bonjour à tous,

    J'essaye d'obtenir les valeurs que j'ai entrées dans une GridView en mode 'Edit'.

    Après avoir cliqué sur Edit, je mets à jour les champs puis je clique sur Update.

    L'événement RowUpdating se declenche et j'essaye d'obtenir les valeurs par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
      {
        GridViewRow row = GridView1.Rows[e.RowIndex];
        string strTestID = e.NewValues[0]; 
    ...
    Et le dernière ligne plante avec comme message :

    System.ArgumentOutOfRangeException: L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.
    Nom du paramètre : index

    Donc cela prouve qu'il ne reconnaît pas la collection NewValues ou que la collection est vide.

    Pourriez-vous m'aider ?

    Merci beaucoup.

    Laurent_Diep.
    Bonjour,
    NewValues fait partie toujours des propriétés de la classe GridViewUpdateEventArgs,
    donc le problème vient du fait que la collection est vide, vérifies bien si t'a pas un problème dans la liaison aux données

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 111
    Par défaut
    medtun.net : merci pour ta réponse.

    En fait je n'utilise qu'un objet GridView et pas d'objet de connexion à la base (qui est un fichier Excel) : j'initialise la propriété DataSource du GridView dans le Page_Load du form.

    Peut-être que cela vient de çà ou à cause du fichier Excel.

    Je vais essayer en passant par un ObjectDataSource.

    laurent_diep.

  4. #4
    Membre confirmé Avatar de DoRiane
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 127
    Par défaut
    Bonjour,
    pour que e.NewValues comprte des valeurs, il faut que ton gridView contienne des contrôle liées aux valeurs que tu affiches de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <asp:TextBox ... Text='<%# Bind("MonChamp")%>' />
    J'espère que cela t'aide.

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 111
    Par défaut
    DoRiane : merci pour ta réponse.

    Finallement je suis passé par une autre solution avec un ObjectDataSource et une base Oracle et cela marche bien.

    Laurent.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 198
    Par défaut
    Citation Envoyé par DoRiane Voir le message
    Bonjour,
    pour que e.NewValues comprte des valeurs, il faut que ton gridView contienne des contrôle liées aux valeurs que tu affiches de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <asp:TextBox ... Text='<%# Bind("MonChamp")%>' />
    J'espère que cela t'aide.
    Bonjour, j'ai actuellement le même problème.
    J'ai une gridView que je remplis à l'aide d'une DataTable et lorsque je rentre dans la methode OnRowUpdating, je n'ai jamais de nouvelles valeurs.

    Et je n'ai bien très bien compris cette solution étant donné que ce n'est pas du code généré par moi.

    Si vous pouviez m'aider, ca serait très sympas :p

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 198
    Par défaut
    En attendant pour ceux qui cherchent aussi, il y a ça :
    ICI mais ca me semble plus brouillon.

Discussions similaires

  1. ma page ne reconnait pas la classe dans le css
    Par Dnx dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 25/08/2005, 23h57
  2. [Debutant(e)]StreamTokenizer: ne reconnait pas les floats!!
    Par doudine dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 10/12/2004, 17h28
  3. [HARDWARE] Graveur DVD ne reconnait pas des DVD
    Par Yepazix dans le forum Périphériques
    Réponses: 2
    Dernier message: 30/11/2004, 15h22
  4. Installation : ne reconnait pas le CDROM
    Par SebCBien dans le forum Matériel
    Réponses: 4
    Dernier message: 08/08/2004, 17h10
  5. Réponses: 4
    Dernier message: 24/03/2004, 12h37

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