Dessiner un tableau [Résolu]

cudenetf 449 Messages postés mardi 20 septembre 2005Date d'inscription 26 juillet 2012 Dernière intervention - 7 juin 2006 à 16:45 - Dernière réponse : yelima 87 Messages postés mardi 12 février 2002Date d'inscription 8 novembre 2009 Dernière intervention
- 5 sept. 2008 à 14:59
bonjour,
j'aimerais sur un formulaire avoir un tableau (visuel)
avec par exemple
nom   | Prenom | sexe | etc....
 ____|_______|_____|________
         |              |          |

qu'un utilisateur peut remplir
j'aimerais egalement qu'on puisse creer une nouvelle ligne a chaque fois (dynamiquement)
par exemple pour creer plusieurs personnes (ds ce cas ci)
on pourrazit en meme temps les enregistrer ds une arraylist ou un truc comme ca
mais c surtout le "dessin" du tzableau qui m'ennuie
Je n'ai pas trouvé d emethode simple pour le faire
sauf creer un control specifique ligne composé de diverses textbox que je mpet les unes a cotes des autres
J'en crée une a chaque fois ke je place en dessou de la precedente mais cette methode ne me plait guere.

Ds visual studio 2005, il y a tablelayoutpanel qui peut représenter une grille (dan slaquezlle il faut quand meme rajouter des textbox ou autre)
mais plus je rajoute d'elements et plus elle prend du temps a se dessiner
J'ai dit de creer une nouvelle ligne a chaque fois que j'appuie su r la touche entrer:
j'ajoute une ligne : tablelayoutpanel1.rowcount+=1;
j'augmente la taille : tablelayoutpanel1.Height+=30;
j'ajoute les elements ds la table:
tablelayoutpanel1.controls.add(textbox,0, tablelayoutpanel1.rowcount-1);
etc...
et ce la prend beaucoup de temps
enf ait c l'ajout des elements qui sempble prendre bcp de temps
je peux les creer a chaque fois ke j'appuie sur entrer
mais c le .add() qui fait que ca rame
en fait plus il y a de lignes et plus ca rame
voila si quelqu'un peut m'aider ce serait tres gentil a lui

sinon quand j'appuie sur entrer j'aimerais bien qu'il n'y ait pas de bip
comment fait-t-on pour l'enlever?
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 7 juin 2006 à 19:10
3
Merci
Salut,
Si tu dois établir une liaison avec une DataBase, je te conseille plutôt d'utiliser un DataGridView qui a été expressément conçu pour ça ! Il est peut-être un peu dur à prendre en main au début (tellement on peut faire de chose avec), mais ça vaut vraiment la peine d'investir quelques heures pour en comprendre le fonctionnement...

VC# forever
=13319

Merci cs_Bidou 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de cs_Bidou
econs 4066 Messages postés mardi 13 mai 2003Date d'inscription 23 décembre 2008 Dernière intervention - 7 juin 2006 à 16:47
0
Merci
Salut,


Il y a pas mal de contrôles qui ont l'aspect d'un tableau.


La listView par exemple, en mode View = lvwReport, avec GridLines=True fait un magnifique tableau.







Manu


--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
Commenter la réponse de econs
cudenetf 449 Messages postés mardi 20 septembre 2005Date d'inscription 26 juillet 2012 Dernière intervention - 7 juin 2006 à 18:06
0
Merci
merci de ta reponse rapide
oui ca ressemble a un tableau
mais n'y a t il pas moyen de changer la couleur des headers?
et je ne comprend pas bien comment editer des choses?
j'ai testé un peu mais j'arrive pas a completer la 2e colonne.
en fait entrer du texte ds certaines colonnes (et ne pas pouvoir le faire dans d'autres (les données doivent venir d'une bd))
Existe-t-il un exemple d'utilisation de cet outil?
aussi si je veux qu'une ligne sur 2 soit d'une autre couleur , ya t-il un moyen?
je n'ai pas trop regarder ce control mais possede-t-il un moyen d'indicer les lignes et colonnes afin de retrouver les données?

et le bip pour la touche entrer? (c'est un question en generale) quand je veux passer d'une textbox a l'autre avec "entrer" n, ca bipe . Peut -on le supprimmer

merci
Commenter la réponse de cudenetf
econs 4066 Messages postés mardi 13 mai 2003Date d'inscription 23 décembre 2008 Dernière intervention - 7 juin 2006 à 19:13
0
Merci
Voici un exemple de code ajoutant une ligne dans une listView, et affichant l'un des éléments en utilisant des indices. Il te faut juste placer une listView nommée listView1 sur ta feuille pour que çà fonctionne.
Ensuite, le code devrait se comprendre facilement.
Pour ton autre question, qui n'a pas vraiment de lien avec la première, pose la dans un autre topic, çà sera mieux.

        void MainFormLoad(object sender, System.EventArgs e)
        {
            // Mise en mode détails
            listView1.View = System.Windows.Forms.View.Details;
            // Construction des colonnes
            listView1.Columns. Add ("colonne1", (int)(0.5*listView1.Width),System.Windows.Forms.HorizontalAlignment.Left);
            listView1.Columns.Add("colonne2", (int)(0.3*listView1.Width),System.Windows.Forms.HorizontalAlignment.Center);
            listView1.Columns.Add("colonne3", (int)(0.1*listView1.Width),System.Windows.Forms.HorizontalAlignment.Right);
            // Ajout des lignes
            listView1.GridLines =true;
           
            // Construction d'une ligne (1 élément + 2 colonnes supplémentaires)
            ListViewItem lvi = new ListViewItem("donnée1");
            lvi.SubItems.Add("autre donnée1");
            lvi.SubItems.Add("test");
            // Ajout de cette ligne
            listView1.Items.Add(lvi);
           
            // Affichage de l'élément de la ligne 0, colonne 1
            // Sachant que tous les indices commencent à 0.
            MessageBox.Show(listView1.Items[0].SubItems[1].Text);
        }

Manu
--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
Commenter la réponse de econs
yelima 87 Messages postés mardi 12 février 2002Date d'inscription 8 novembre 2009 Dernière intervention - 5 sept. 2008 à 14:59
0
Merci
Salut dans la meme optique j'aimerais faire un truc de ce genre: afficher les numeros de semaines de l'année en horizontal et la liste des equipements en vertical et le tableau sera rempli à partir d'une table.C'est possible?
Commenter la réponse de yelima

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.