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 :

Comment modifier textbox après editcommand ?


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de lolymeupy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2006
    Messages : 402
    Par défaut Comment modifier textbox après editcommand ?
    Bonjour,
    j'ai un code tel que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <asp:DataGrid id="MonDatagrid" runat="server" AutoGenerateColumns="False">
       <Columns>
          <asp:TemplateColumn HeaderText="Colonne1">
             <ItemTemplate>
                 <%#Container.DataItem("nomdemacolonne")%>
             </ItemTemplate>
             <EditItemTemplate>
                 <asp:Textbox runat="server" width="600" maxlength="600"/>
              </EditItemTemplate>
          </asp:TemplateColumn>
    et j'ai bien tous mes champs remplis quand j'arrive sur la page.
    Par contre, lorsque je clique sur Edit, mon champ concerné devient bien "editable" mais il ne garde pas la valeur qu'il avait avant...?
    Il affiche un textbox vide dans la cellule concernée ..?!
    Si quelqu'un sait comment conserver la valeur initial dans le champ edité...
    Merci d'avance

  2. #2
    Membre chevronné Avatar de predalpha
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 392
    Par défaut
    Salut, dans ton edititemtemplate, il faut que ton textbox soit "binder" avec
    l'élément de ta base de donnée.

    Mets text=''<%# Container.DataItem("nomdemacolonne")%>'

    Good luck

  3. #3
    Membre éclairé Avatar de lolymeupy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2006
    Messages : 402
    Par défaut
    Merci predalpha
    Effectivement, mon code donne ça maintenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <asp:TemplateColumn HeaderText="Adresse">
    		<ItemTemplate>
                 <%#Container.DataItem("Ad_sAdresse")%>
            </ItemTemplate>
    		<EditItemTemplate>
    			<asp:TextBox text='<%#Container.DataItem("Ad_sAdresse")%>' runat="Server" Width="400" ></asp:TextBox>
    		</EditItemTemplate>
    </asp:TemplateColumn>
    et losrque je fais mon edit, j'ai bien mon champ Adresse qui devient un textbox. Par contre, une fois que je modifie ce champ et que je clique sur MAJ, je n'arrive pas à récuperer la valeur de mon champ ?

    Voici mon code-behind :
    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
     
    Sub Update(ByVal Sender As Object, ByVal e As DataGridCommandEventArgs)
                ' Déclaration des différents objets
                Dim sRec As String
                Dim TempIdAdresse As String
                Dim TempAdresse As String
                Dim TempAdresse1 As String
                Dim TempAdresse2 As String
                Dim TempAdresse3 As String
                Dim TempAdresse4 As String
                Dim TempAdresse5 As String
                Dim TempAdresse6 As String
     
     
                ' Récupération de l'ID de la classe et des données saisies
                TempIdAdresse = e.Item.Cells(1).Text   'ici je récup bien le bon identifiant
                TempAdresse4 = e.Item.Cells(2).Text
                TempAdresse5 = e.Item.Cells(3).Text
                TempAdresse6 = e.Item.Cells(4).Text
                TempAdresse = Request.Form.Item(0).ToString()
                TempAdresse1 = Request.Form.Item(1).ToString()
                TempAdresse2 = Request.Form.Item(2).ToString()
                TempAdresse3 = Request.Form.Item(3).ToString()
                TempAdresse = Request.Form.Item(4).ToString()
                TempAdresse = e.Item.Cells(0).Text
     
                adresse = New adresse(CInt(TempIdAdresse))
                adresse._Adresse = TempAdresse
     
                adresse.Update()
     
                AfficherAdresses()
    End Sub
    J'ai mis un paquet d'indice pour essayer de tout récuperer, mais je récupère soit des chaines vides "", soit des "dnn$ctr484$BonsLivraisonsCtrlAdresse$DG_CtrlAdresse$_ctl3$_ctl0", mais en aucun cas la valeur que je veux.

    Voici la partie de code-source que je récupère quand je l'affiche après un point d'arrêt sur adresse.Update() :
    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
    <tr style="color:#CCCCFF;background-color:#003399;font-weight:bold;height:20px;">
    <td>&nbsp;</td>
    <td>Site</td>
    <td>Adresse</td>
    <td>Ville</td>
    <td>Pays</td>
    <td>Cocher pour invalider</td>
    </tr>
    <tr style="color:Black;background-color:#FFFF80;font-family:Times New Roman;height:20px;">
    <td>
    <a href ="javascript: __doPostBack('dnn$ctr484$BonsLivraisonsCtrlAdresse$DG_CtrlAdresse$_ctl3$_ctl0','')" style="color:Black;">MAJ</a>
    &nbsp;
    <a href="javascript: __doPostBack('dnn$ctr484$BonsLivraisonsCtrlAdresse$DG_CtrlAdresse$_ctl3$_ctl1','')" style="color:Black;">Annuler</a></td><td>Rennes2</td>
    <td>
    <input 
    name="dnn:ctr484:BonsLivraisonsCtrlAdresse:DG_CtrlAdresse:_ctl3:_ctl2" type="text" 
    value="1 MAIL FRANÇOIS MITERAND" style="width:400px;" />
    </td>
    <td>RENNES</td>
    <td>FRANCE</td>
    <td align="Center">
    <input id="dnn_ctr484_BonsLivraisonsCtrlAdresse_DG_CtrlAdresse__ctl3_chkSelection"
     type="checkbox" name="dnn:ctr484:BonsLivraisonsCtrlAdresse:DG_CtrlAdresse:_ctl3:chkSelection" />
    </td>
    En gras, c'est la valeur du champ que je dois récupérer, mais je précise que "1 MAIL FRANÇOIS MITERAND" c'est la valeur initiale. Moi je modifie cette adresse ("1 MAIL FRANÇOIS MITERRAND"), je valide la MAJ, et quand j'affiche le code source, on voit que cette valeur n'a pas changée et que je n'arrive même pas à la récuperer....

    Donc si quelqu'un a une idée la dessus....
    Merci

  4. #4
    Membre chevronné Avatar de predalpha
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 392
    Par défaut
    Salut,

    ton code me semble bizarre surtout au niveau de cette variable
    qui semble mettre à jour ton addresse :

    TempAdresse

    elle subit de multiples affectations consécutives, c'est pas très clean. Utilises un espion pour voir la valeur de cette variable avant qu'elle ne mette à jour ton adresse.

    (Au passage pourquoi utilises tu request.form ?)

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/01/2011, 13h58
  2. Comment modifier un paramètre d'une instance juste après l'avoir créée ?
    Par Kicker dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 25/02/2010, 05h29
  3. Réponses: 14
    Dernier message: 25/05/2009, 19h57
  4. [VB.NET]Comment modifier un textbox a partir d'une dll?
    Par Subkill dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 21/01/2008, 21h38
  5. Réponses: 1
    Dernier message: 26/04/2006, 20h10

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