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 :

Probleme gridview dynamique


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 27
    Par défaut Probleme gridview dynamique
    Salut a tous

    J'ai un problème avec un gridview dynamique.
    Dans mon code je crée un gridview, puis je lui ajoute un champ Textbox de manière dynamique (TemplateField)
    (le résultat d'une requête s'affiche dans des Textbox qui sont inclus dans un gridview)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    loColIco = New TemplateField
    ...
    GridView1.Columns.Add(loColIco)
    tout s'affiche bien mais si je clique sur un bouton dans ma page aucun champs ne réapparaît !
    alors que mes autres champs dans des textbox hors gridview se réaffiche...
    pourtant j’ai bien j’ai bien activé le ViewState : GridView1.EnableViewState = True

    est ce que vous pouvez m’aider svp.
    J’ai du oublié qlq chose !

    merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Par défaut
    Tu dois 'rebind' ta GridView a chaque postback,

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    +1 pour le rebind.

    Et bien recréer les texbox evidement à chaque Postback

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 27
    Par défaut
    Merci pour le début de réponse

    Je vais préciser ma question.
    En fait lorsque je crée 2 gridview :

    * - le premier de manière dynamique (les colonnes sont créées dans le code)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim loDataSet As Data.DataSet = New Data.DataSet
    ...
    GridView1.Columns.Clear()
    loColIco = New TemplateField
    ...
    loColIco.ItemTemplate = New uTextBoxTemplate("numeroexpedition", 50)
    GridView1.Columns.Add(loColIco)
    ...
    sSql = "SELECT * FROM EXPEDITION  "
    iNb = sql_execute(GridView1, loDataSet)
    GridView1.DataSource = loDataSet.Tables("Temp").DefaultView
    GridView1.DataBind()
    * -Le second est crée automatiquement


    Dans mon code aspx :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <asp:GridView ID="GridView1" runat="server" EnableViewState="true">
    <Columns></Columns>
    </asp:GridView>
     
    <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False">
    <Columns>
    <asp:BoundField DataField="numeroexpedition" />           <asp:TemplateField>
          	<itemtemplate>
                	<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
              	</itemtemplate>
         </asp:TemplateField>   
    </Columns>
    </asp:GridView>
    Mon problème est que si j’écris dans les Textbox du Gridview1 (dynamique) mes textes ne sont pas gardés en mémoire lors d’un clique sur un bouton quelconque alors que les textes écris dans les Textbox du Gridview2 sont conservés.

    Pour mon Gridview2 je n’ai pas besoin de refaire le DataBind a chaque postback alors pourquoi il faudrait le faire pour mon GridView1 ?

    Merci d’éclairer ma lanterne.

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    Parce que les colonnes sont crée dynamiquement.

    Si tu les recrées pas évidement il ne les retrouvera pas.

    Contrairement à la gridview2 dont les colonnes sont déclaré dans l'aspx

    pour résumé.

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/01/2007, 16h47
  2. probleme cursor dynamique
    Par juin29 dans le forum Oracle
    Réponses: 5
    Dernier message: 25/11/2006, 08h41
  3. probleme allocation dynamique
    Par ciberju dans le forum C
    Réponses: 2
    Dernier message: 28/08/2006, 09h40
  4. [struts] probleme champs dynamiques
    Par rocco dans le forum Struts 1
    Réponses: 28
    Dernier message: 07/06/2004, 21h26
  5. [LG]Problême Variable dynamique de types différents
    Par pierrOPSG dans le forum Langage
    Réponses: 2
    Dernier message: 29/04/2004, 16h01

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