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# - GridView] Mode édition (sans DataSource).


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 17
    Par défaut [C# - GridView] Mode édition (sans DataSource).
    Bonjour,

    j'ai créé un "GridView" dans une page "aspx" dont le datasource est un dataset.
    Dans la section <columns> je veux implémenter une colonne permettant de gérer l'édition de chaque ligne comme on peut le faire en mode "sélection" avec :

    <asp:buttonfield ButtonType="Link" CommandName="Select" Text="Sélection" />
    (puis je code dans le gestionnaire "SelectedIndexChanged")

    J'écris donc :
    <asp:buttonfield ButtonType="Link" CommandName="Edit" Text="Edition" />
    Le bouton est bien créé pour chaque ligne mais lorsque je clique sur un bouton, les champs de la ligne ne deviennent pas des champs de saisie "textbox".

    Comment puis-je faire sans recourir à un objet "SlqDataSource" ?

    D'avance merci.

  2. #2
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:buttonfield ShowEditButton="True"  ButtonType="Link"  />

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 17
    Par défaut Une solution.
    Bonjour,

    merci pour votre suggestion. Cependant, je me permets de vous faire remarquer que l'attribut "ShowEditButton" n'existe pas pour l'élément "ButtonField"...

    Voici une solution que j'ai imaginée ; elle s'appuie sur le paramétrage de l'objet "DataView" de mon DataSet :


    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    (Dans le fichier ".aspx")
    <asp:ButtonField ButtonType="Link" Text="Edition" DataTextField="XXXX" CommandName="Edit"/>
     
     
    (Dans le fichier ".cs")
    private int MyEditIndex
    {
       get
       {
          if (ViewState["MyEditIndex"] == null)
          {
             return -1;
          }
          else
          {
             return (Convert.ToInt32(ViewState["MyEditIndex"].ToString()));
          }
       }
       set
       {
          ViewState["MyEditIndex"] = value;
       }
    }
     
     
    protected void MyGridView_RowEditing(object sender, GridViewEditEventArgs e)
    {
                DataView MyDataView = new DataView();
                MyDataView.Table = MyDataSet.Tables[0];
     
                if (MyEditIndex == e.NewEditIndex)
                {
                    MyDataView.AllowEdit = false;
                    MyEditIndex = -1;
                    // Code de contrôle et de mise à jour des données...
                }
                else
                {
                    MyDataView.AllowEdit = true;
                    MyEditIndex = e.NewEditIndex;
                }
                MyGridView.EditIndex = MyEditIndex;
                MyGridView.DataSource = MyDataView;
                MyGridView.DataBind();
            }
    Si quelqu'un à une autre proposition, elle est bienvenue...

  4. #4
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    pardon c'est ça la commande juste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:CommandField ShowEditButton="true" />
    tu te compliques la vie avec ce que tu as fait plus haut.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 17
    Par défaut Précision
    Bonjour,

    ok et merci pour cette précision...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/08/2010, 14h54
  2. [GridView] RowComand sans datasource
    Par anthyme dans le forum ASP.NET
    Réponses: 0
    Dernier message: 16/04/2009, 14h24
  3. Réponses: 2
    Dernier message: 27/02/2006, 10h08
  4. Comment passer en mode édition dans un TTreeView ?
    Par Invité dans le forum C++Builder
    Réponses: 6
    Dernier message: 08/08/2005, 13h37
  5. Réponses: 6
    Dernier message: 22/06/2005, 10h05

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