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 :

[C#] problème d'accès aux données d'un datagrid


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 94
    Points : 67
    Points
    67
    Par défaut [C#] problème d'accès aux données d'un datagrid
    Bonjour,
    Dans mon datagrid un fois rempli, j'accède à une ligne
    par la commande edit, je change les champs et ensuite je souhaite appeler la commande 'update'.
    dans l'evènement ainsi générer : DataGrid1_UpdateCommand

    je souhaite récuperer les nouvelles valeurs mais la
    ligne ne me ramène pas le contenu de toutes les cellules?
    je ne comprend pas pourquoi,
    comment puis je accèder au contenu des cellules par un autre méthode?
    merci pour votre aide!!

    code de la procédure en entier:
    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
    			private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    		{
    			//le listing des  champs à renseigner pour la procédure stockée
    			String[] cols={"@ID","@Name","@Password","@GROUP_ID","@Original_ID","@Original_Name","@Original_Password","@Original_GROUP_ID"};
    			// récupération de la valeur de la 3éme cellule
    			string valeur=e.Item.Cells[2].Text;
    			//affectation de la valeur de l'ID pour le param
    	sqlUpdateCommand1.Parameters[cols[0]].Value=valeur;
    			//parcours des param restant dans les cellules 4,5,6
    			for(int i=3,j=1;i<e.Item.Cells.Count;i++,j++)
    			{
    				valeur=e.Item.Cells[i].Text;
    				sqlUpdateCommand1.Parameters[cols[j]].Value=valeur;
    				Trace.Warn("param"+j.ToString()+": "+valeur);
    			}
    			DataGrid1.EditItemIndex=-1;
    			///réaffiche le datagrid, trié selon l'ID
    			rempli("ID");
    		}

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Pour récupérer les valeurs des textbox, il faut utiliser leurs ID
    Et tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim txt as TextBox = ctype(e.item.FindControl("id"), TextBox)
    Dim value as String = txt.Text
    Bon d'accord, c'est du VB.NET, mais un peu de traduction et le tour est joué
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 94
    Points : 67
    Points
    67
    Par défaut
    merci pour ta réponse mais je ne comprend pas quand je lui demande le control avec son nom il me renvoie 'null'
    je suis donc allé voir le nombre de mes controls et il me répond 0!!!
    index outofbound....

  4. #4
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Il ne faut pas écrire control avec un "s" à la fin :
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 94
    Points : 67
    Points
    67
    Par défaut
    si si en fait il faut bien l'écrire avec un 's'
    j'ai finalement trouvé.....
    a forcer d'utiliser les assistant visual studio on ne controle plus rien...
    je n'étais pas aller suffisement loin dans la hiérarchie des controles...
    car automatiquement VS ajoute une textbox mais comme childcontrol...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    valeur=((TextBox)(e.Item.Controls[i].Controls[0])).Text;
    et non seulement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    valeur=((TextBox)(e.Item.Controls[i])).Text;
    merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Accés à une base de données AS400
    Par Green Hornet dans le forum Accès aux données
    Réponses: 8
    Dernier message: 14/11/2011, 11h26
  2. Réponses: 2
    Dernier message: 01/10/2004, 15h13
  3. [débutant] avoir accès aux données de la base BCDI 3
    Par Valichou dans le forum Bases de données
    Réponses: 7
    Dernier message: 06/05/2004, 13h13
  4. accès aux donnée d'un DBGRID
    Par relax_06 dans le forum C++Builder
    Réponses: 4
    Dernier message: 02/03/2004, 23h06
  5. [TDataModule] Intérêt de séparer les accès aux données?
    Par Cornell dans le forum Bases de données
    Réponses: 5
    Dernier message: 05/09/2003, 16h42

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