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 :

[ASP.NET/C#] Tableau dynamique


Sujet :

ASP.NET

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Janvier 2005
    Messages
    65
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France, Paris (�le de France)

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 65
    Par d�faut [ASP.NET/C#] Tableau dynamique
    Bonjour � tous,

    N'h�sitez pas � d�placer mon post si il n'est pas au bon endroit

    Je cherche � cr�er un tableau dynamique, c'est � dire � partir de contr�les utilisateur ajouter et enlever des lignes.

    Pour cela, j'ai fait quelques tests...

    Dans ma page aspx, j'ai:
    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
    <table id="Tab1" runat="server">
                <tr>
                    <td align="center">
                        <h3>
                            Coucou</h3>
                    </td>
                    <td>
                        <asp:DropDownList ID="ddpReturnType" runat="server">
                        </asp:DropDownList>
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:DropDownList ID="ddpKindProduct1" name="ddpKindProduct1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DdpKindProduct_SelectedIndexChanged">
                        </asp:DropDownList>
                    </td>
                    <td>
                        <asp:DropDownList ID="ddpProduct1" runat="server">
                        </asp:DropDownList>
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                    </td>
                </tr>
            </table>
            <asp:Button ID="BtnAdd" Text="Ajouter Ligne" runat="server" 
                onclick="BtnAdd_Click" />
            <asp:Button ID="BtnConfirm" Text="Envoyer" runat="server" />
    Dans ma page aspx.cs, j'ai :
    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
    protected void BtnAdd_Click(object sender, EventArgs e)
        {
            HtmlTableRow newRow = new HtmlTableRow();
     
            // Pour chacune des 3 colonnes
            for (int i = 0; i < 3; i++)
            {
                TextBox tb = new TextBox();
                HtmlTableCell cell = new HtmlTableCell();
                switch (i)
                {
                    case 0:
                        cell.Controls.Add(tb);
                        break;
                    case 1:
                        cell.Controls.Add(tb);
                        break;
                    case 2:
                        cell.Controls.Add(tb);
                        break;
                    case 3:
                        cell.Controls.Add(tb);
                        break;
                    default:
                        break;
                }
                newRow.Cells.Add(cell);
            }
     
            Tab1.Controls.Add(newRow);
        }
    }
    Quand je click une fois sur le bouton add, il me rajoute bien une ligne. Apr�s, il n'en rajoute plus.

    Comment �a se fait ?

    Merci de vos r�ponses

  2. #2
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    46
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 46
    Par d�faut
    Bonjour,

    je veux te remercier pour votre proposition de code �a m'a aid� beaucoup
    mais je veux savoir si vous avez pu r�soudre le probl�me d'ajout d'autres ligne car j'ai rencontr� le m�me probl�me.
    merci.

  3. #3
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    F�vrier 2010
    Messages
    1 467
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France

    Informations professionnelles :
    Activit� : Consultant en technologies
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : F�vrier 2010
    Messages : 1 467
    Par d�faut
    Citation Envoy� par baptx Voir le message
    Quand je click une fois sur le bouton add, il me rajoute bien une ligne. Apr�s, il n'en rajoute plus.

    Comment �a se fait ?
    Bonjour,

    Je suppose que tu ne stockes pas quelque part (ViewState, Session, DataBase) la liste des contr�les/lignes ajout�s dynamiquement, et ne les recr�er pas � chaque chargement de page ?

    Si oui, tu n'as pas le choix => il faut le faire. En effectuant une recherche sur la cr�ation dynamique de contr�le sur ce forum tu trouveras bon nombre de posts sur le sujet.

    En esp�rant t'avoir aid�.

  4. #4
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    46
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 46
    Par d�faut
    merci beaucoup, je vais faire une recherche.

  5. #5
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    46
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 46
    Par d�faut
    Excusez moi mais vraiment je sais pas comment r�soudre le probl�me

    voici mon code de la page aspx.cs:
    --------------------------------------------------------
    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
    protected void BtnAdd_Click(object sender, EventArgs e)
        {
            // créer une instace de ligne
            HtmlTableRow newRow = new HtmlTableRow();
     
            // Pour chacune des 3 colonnes
            for (int i = 0; i < 3; i++)        
            {
                //créer un champ
                TextBox tb = new TextBox();
                HtmlTableCell cell = new HtmlTableCell();   
                cell.Controls.Add(tb);           
                newRow.Cells.Add(cell);
            }      
     
                Tab1.Controls.Add(newRow);           
        }
    ----------------------------------------------------------
    merci de m'aider.

  6. #6
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    F�vrier 2010
    Messages
    1 467
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France

    Informations professionnelles :
    Activit� : Consultant en technologies
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : F�vrier 2010
    Messages : 1 467
    Par d�faut
    Bonjour,

    Plut�t que de r��crire toute l'explication ici, je t'invite simplement � consulter ce billet. L'exemple de code est fourni en C# et VB.NET.

    Si tu rencontres un souci n'h�site pas.

  7. #7
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par d�faut
    Comme dit precedemment, il faut sauvegarder le fait que tu as rajout� des lignes. Par exemple dans le viewstate. Et ensuite les charger dans le page_load.

    Ca donnera :
    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
     
    protected void Page_Load(object sender, EventArgs e)
    {
    ...ton code
     
      int nbLignesAjoutees = 0;
    if(ViewState["nbLignes"] != null)
    {
     nbLignesAjoutees = (int)ViewState["nbLignes"];
    }
    for(int j = 0; j < nbLignesAjoutees ; j++)
    {
    for (int i = 0; i < 3; i++)
    {
    //créer un champ
    TextBox tb = new TextBox();
    HtmlTableCell cell = new HtmlTableCell();
    cell.Controls.Add(tb);
    newRow.Cells.Add(cell);
    }
     
    Tab1.Controls.Add(newRow);
    }
    }
     
    protected void BtnAdd_Click(object sender, EventArgs e)
    {
    // créer une instace de ligne
    HtmlTableRow newRow = new HtmlTableRow();
     
    // Pour chacune des 3 colonnes
    for (int i = 0; i < 3; i++)
    {
    //créer un champ
    TextBox tb = new TextBox();
    HtmlTableCell cell = new HtmlTableCell();
    cell.Controls.Add(tb);
    newRow.Cells.Add(cell);
    }
     
    Tab1.Controls.Add(newRow);
    int nbCases = (int)ViewState["nbLignes"];
    nbCases++;
    ViewState["nbLignes"] = nbCases;
    }
    a+

  8. #8
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    46
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 46
    Par d�faut
    merci pour votre reponse, j'ai utilis� le code que vous m'avez propos�, �a s'�xecute sans erreurs mais lorsque je clik sur le bouton il me retourne vers le code et exactement dans la ligne
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    int nbCases = (int)ViewState["nbLignes"];
    et me dit :
    La r�f�rence d'objet n'est pas d�finie � une instance d'un objet.
    j'ai beaucoup cherch� sur internet mais j'arrive pas a resoudre le probl�me.
    si vous avez une id�e merci.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. asp.net creer controls dynamiquement
    Par windows2056 dans le forum ASP.NET
    R�ponses: 5
    Dernier message: 19/07/2011, 18h53
  2. R�ponses: 4
    Dernier message: 30/06/2011, 13h12
  3. [asp.net mvc3] Formulaire dynamique selon DB
    Par ObseLeTe dans le forum ASP.NET MVC
    R�ponses: 0
    Dernier message: 18/03/2011, 00h40
  4. R�ponses: 7
    Dernier message: 13/11/2009, 14h15
  5. [ASP.NET C#]Treeview Dynamique
    Par hippoX dans le forum ASP.NET
    R�ponses: 1
    Dernier message: 16/08/2007, 09h52

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