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 :

Une textbox mutiligne dans un gridview


Sujet :

ASP.NET

  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 Une textbox mutiligne dans un gridview
    Bonjour tout le monde.

    Je voudrais mettre une textbox avec l'option multiline pour saisir mes données en modification.

    Je ne trouve pas le moyen de faire ça dans les propriétés du BoundField.

    ALors est ce que je passe à côté ou est ce qu'il faut que je passe par un Template Field ?

    En fait, mon souci est assez subtil : lorsque je saisi les données dans le champ (pour lequel j'ai placé un Heigth histoire d'y voir quelque chose) et que je fais "Entrée" pour passer une ligne, il prend le bouton aileurs dans la page et me fait un click dessus. Sauf que ce bouton c'est le bouton de déconnexion de l'utilisateur en cours !!!

    Voyez vous mon souci ?

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Il te faut en effet utiliser un templateField.

    Quant à ton problème de de touche Entrée, sette simplement la propriété DefaultButton de ta MasterPage sur un autre contrôle où, si tu ne veux pas le faire dans ta masterpage, fais le sur un panel dans ta page courante.

  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
    Merci pour ton aide.
    Bon, ben je vais me taper un template field.

    Par contre, le DefaultButton dans la MasterPage, je trouve pas.
    Tu pourrais m'aiguiller ?

  4. #4
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Désolé, je n'ai pas été suffisamment précis.
    Le defaultButton se trouve sur ton contrôle "form" dans ta Master.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Form.DefaultButton = toncontrole.UniqueId

  5. #5
    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
    Question subsidiaire sur le Template Filed : y aurait pas un truc spécial pour récupérer l'information saisie !

    Je viens de le finir et lorsque je valide la modification, ben il ne trouve plus ma variable et donc me fait une jolie erreur SQL !!!

    Sauf que je n'ai pas trouvé dans les tuto et la MSDN ce qu'il faut faire dans la définition du Template pour lui indiquer la valeur à prendre.

  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 le bouton, je viens de le voir aprés avoir validité mon précédent message

  7. #7
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Je ne comprend pas bien ta question.
    Tu n'arrives en fait pas à binder un élément de ta source de données sur un contrôle contenu dans ta GridView, c'est ça ?

    Deux solutions:
    - dans l'event RowDataBound de ta gridView, tu récupères ton contrôle et lui affecte l'élément de ta source de données voulu.
    - dans l'aspx, tu utilises une syntaxe genre :Text='<%#DataBinder.Eval(Container.DataItem, "ElementDeTaSourceDeDonnees")'

    un exemple (c#) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    protected void Grid_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                LinkButton deleteButton = (LinkButton)e.Row.FindControl("MyButton");
                if (MyButton != null)
                {
                    MyButton.Text = 
                }
        }
    }
    ou dans ton aspx:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <asp:TemplateField ItemStyle-Width="200">
                                            <ItemTemplate>
                                                <asp:Label runat="server" ID="Lblr" Text='<%#DataBinder.Eval(Container.DataItem,"ElementDeMasource") %>'></asp:Label>
                                            </ItemTemplate>
                                        </asp:TemplateField>

  8. #8
    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
    non, non, le Binder j'y arrive.

    C'est enregistrer la modification que je n'arrive pas à faire.

    J'ai activé le GridView.AutoGenerateEditButton pour faire des modifications des données en ligne.
    Tant que j'avasi un BoundField, tout allait bien.

    Maintenant que j'ai mis un TemplateField, ben il ne me trouve plus la variableSQL qui est mise en place que la SQLDataSource.

    Plus clair comme ça ?

  9. #9
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Alors là je ne saurais pas te dire, je n'utilise jamais les SqlDataSource.
    As-tu ajouté un EditItemTemplate dans ton TemplateField ?

  10. #10
    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 code, mais ce n'est pas ça qui coince, c'est l'enregistrement aprés la modification.

    Quand je clique sur "Mettre à jour" il me blance une erreur comme ça :
    La variable scalaire "@ScriptBlocGoogle" doit être déclarée.
    Et cette variable correspond à la données que j'ai modifié.

    Vois tu ?

  11. #11
    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
    Citation Envoyé par calagan99 Voir le message
    Alors là je ne saurais pas te dire, je n'utilise jamais les SqlDataSource.
    As-tu ajouté un EditItemTemplate dans ton TemplateField ?
    Non, j'ai pas fait ça.
    Je viens de faire une petite recherche, mais j'ai pas trouvé ce que je dois mettre dedans.

    En fait, c'est un peu comme s'il fallait mettre un DataField sur le TemplateField, mais cette option n'est pas proposée.

Discussions similaires

  1. Changement du format d'une colonne "date" dans un gridview
    Par sprvnxlgls dans le forum ASP.NET
    Réponses: 1
    Dernier message: 28/12/2009, 11h11
  2. Une colonne compteur dans un GridView
    Par zooffy dans le forum ASP.NET
    Réponses: 1
    Dernier message: 21/01/2008, 15h14
  3. Réponses: 2
    Dernier message: 20/01/2008, 15h04
  4. Réponses: 4
    Dernier message: 15/11/2007, 10h22
  5. Réponses: 10
    Dernier message: 16/05/2006, 14h13

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