begin process at 2010 02 10 10:04:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Système

 > 

Autre

 > 

Tableau dynamique + enregistrement


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Tableau dynamique + enregistrement

jeudi 17 avril 2008 à 15:05:36 | Tableau dynamique + enregistrement

Ishizaki

Bonjour tout le monde, une petite question concernant la gestion d'un tableau dynamique et l'enregistrement:

Ce que je fais:
1)Création du tableau dynamiquement selon un choix fait dans une dropdownlist(Les 2 premières colonnes sont des cellules sans controle, ensuite des Textbox):
Code:

 private void SetArrayRow(string name, string surname, HtmlTable table)
    {
        HtmlTableRow row = new HtmlTableRow();
        HtmlTableCell cellName = new HtmlTableCell();
        HtmlTableCell cellSurname = new HtmlTableCell();
       

        cellName.InnerText = name;
        cellSurname.InnerText = surname;
      
       

       
        row.Cells.Add(cellSurname);
        row.Cells.Add(cellName);

        int idNumber = 1;
        if (this._ListSeizureMask != null)
        {
            foreach (Person person in this._ListPerson)
            {
                TextBox textbox = new TextBox();
                HtmlTableCell cellTextbox = new HtmlTableCell();
               
               
                cellTextbox.Align = "left";
                textbox.ID = string.Format("TextboxMask{0}", idNumber);
                textbox.CssClass = "textbox";
                textbox.Width = 60;

                cellTextbox.Controls.Add(textbox);
                row.Cells.Add(cellTextbox);

                idNumber++;
            }
        }

2)Récupération des données du tableau après le premier affichage:
Code:

//Dans le OnPreRender, j'assigne ma table à ma propriété.
 protected override void OnPreRender(EventArgs e)
    {
        this.ArrayTable = this.TableEmployee;

        base.OnPreRender(e);
    }

//La propriété stocke la table dans une variable de session
public HtmlTable ArrayTable
    {
        get
        {
            return this.Session["TablePerson"] as HtmlTable;
        }
        set
        {
            this.Session["TablePerson"] = value;
        }
    }

    private HtmlTable _ArrayTable = new HtmlTable();

3) Lors du clic sur un bouton, ici "Enregistrer", je récupère le tableau de ma variable de session:

private string[,] ArrayRecord()
    {
        int rowCount = (int)this.RowCount;//Nombre de lignes
        int cellCount = (int)(this.CellCount);//Nombre de colonnes


        string[,] array = new string[rowCount,cellCount];

       
       
        if(rowCount > 0)
        {
            for (int indexRow = 0; indexRow <= rowCount-1; indexRow++)
            {
                for (int indexCell = 0; indexCell <= cellCount - 1; indexCell++)
                {
                    if (indexCell > 1)//Le nom et le prénom sont deja fixés, ce ne sont pas des textbox, les cellules d'index supérieur ne contiennent que des Textbox
                    {
                        array[indexRow, indexCell] = ((TextBox)this.ArrayTable.Rows[indexRow].Cells[indexCell].Controls[0]).Text;//Textbox
                    }
                    else
                    {
                        array[indexRow, indexCell] = this.ArrayTable.Rows[indexRow].Cells[indexCell].InnerText;//Texte normal
                    }
                }
            }
        }

        return array;
    }

Explication : J'enregistre mon tableau dans une variable de session, car lorsque je veux récupérer le tableau crééer dynamiquement sur le clic du bouton "Enregistrer", les colonnes et lignes créées ne sont pas conservées, vu que HtmlTable n'est pas Serializable, pas de possibilité de le mettre dans un ViewState, alors j'ai utilisé une variable de session. Mais cette variable de session conserve les données lors du premier affichage de la page. Donc elle ne contient pas les données entrées dans les Textbox lors de l'enregistrement. Mon tableau ne me retourne donc que des valeurs vides pour les cellules de mes Textbox.

Je voudrais donc trouver un moyen pour pouvoir réussir à choper le texte de mes Textbox.

je quote tu quotes...

jeudi 17 avril 2008 à 15:16:41 | Re : Tableau dynamique + enregistrement

Ishizaki

TableEmployee est en fait TablePerson ^^.

Merci de votre aide

je quote tu quotes...

lundi 21 avril 2008 à 11:09:15 | Re : Tableau dynamique + enregistrement

Ishizaki

Réponse acceptée !
En fait j'ai recréé un objet Table qui va récupérer les données de mon tableau à chaque création. Ca marche nikel.

je quote tu quotes...



Cette discussion est classée dans : textbox, int, string, tableau, indexcell


Répondre à ce message

Sujets en rapport avec ce message

Type global pour int[], string[], bool[] ..... [ par ricklekebekoi ] Hello,Mon problème va comme suit:Dans mon programme, jutilise différentes array de différents types (des bool[], des int[], des string[] ...)Je me sui Tableau simple en C# [ par SinXJon ] Bonjour a tous! J'essaie de me créer 2 tableau que je pourrai ens Afficher un tableau dans 1 textBox [ par drcmomo ] Bonjour a tous !voila j'ai un petit soucis j'ai 1 textbox que j'aimerais afficher un tableau de 5 elements j'ai crée une petite boucle la voila: for Convertir un string et int [ par Metabolicman ] Bonjour, Je développe une petite application événementielle pour mes cours et j'ai un petit problème. Je récupère des tarifs dans un fichier .txt et j importer un tableau excel [ par manuweb_21 ] J'ai un fichier qui s'appelle: "conversiontable.txt" qui contient un tableau exporté de excel (:-> séparations = tabulations) il a cette forme: Argon Remplir un tableau (dans une boucle) [ par luudo ] Bonjour , je souhaite insérer les valeurs obtenues dans ma boucle dans un tableau, mais je n'arrive pas a remplir ce tab ComboBox [ par auges ] Salut à tousest ce qqn pourrait me dire ce qui ne va pas avec ce code.je voudrais remplir un combobox avec des strings allant de 0000 à FFFF.for(int i Valeur d'entree en string et faire la sortie en int!!! [ par Acidkepler ] Bonjour, J'ai un petit programme qui doit convertir une valeur string ( 0 à 255) en valeur de sortie int. Donc j'entre dans un textBox ma valeur de mettre le contenu d'une texbox dans plusieurs textbox ou dans un tableau [ par luudo ] alors voila mon probleme en fait j'ai une textbox avec comme contenu 12345678 (par exemple) et je souhaites dissocier les chiffres se trouvant dans ce passage de valeurs C# (Com) => ASP [ par leromantique6 ] bonjour!Dslé de poster un nouveau sur un sujet qui est sensiblement identique a celui que j'ai deja posté. Mais comme le precedent a deja etait validé


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales