Bonsoir à tous,
J'ai cherché dans les messages du forums et arpenté longuement les didacticiels, les FAQ et la toile mais je n'ai pas trouvé de solution compléte à mon problème bien que des brides ont été d'un grand secours. C'est pourquoi je l'expose ici.
Voici ce que je souhaite, dans les grandes lignes, que mon programme fasse :
- lire un fichier
- extraire certaines informations de ce fichier
- présenter ces informations dans différentes listes, elles-mêmes dans des pages différentes. Les listes ont toutes la même présentation i.e. même nombre de colonnes, mêmes entêtes de colonnes.
Je suis bloqué actuellement par deux choses :
1 - la gestion des TabPages : si une TabPage existe, je souhaite que sa liste soit enrichis sans création d'une nouvelle TabPage. J'ai essayé (sans doute mal compris et/ou codé) une solution décrite dans ce forum mais sans succés car j'ai toujours des TabPages créés à profusion.
2 - je dois ajouter les informations à une seule liste, celle de la TabPage qui m'intéresse; les chaînes écrites dans mon code ne sont là que pour des tests actuellement et sans doute devrais-je modifier mon code pour les faire écrire via une autre méthode. Actuellement, je vois, dans tous les listes des TabPages, la même chose alors que je devrais avoir, si j'ai bien compris, le numéro d'index de page de page différent.
Voici un extrait du code qui me chiffonne :
Je suis preneur de la moindre suggestion qui me permettrait d'avancer.
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
47 private void addTabPage(string name) { TabPage tp = new TabPage(name); DataGridView dgv = new DataGridView(); // add the new TabPage if needed if (tabControl1.TabPages.Contains(tp) == false) { tabControl1.Controls.Add(tp); //tabControl1. DataGridViewTextBoxColumn flag = new DataGridViewTextBoxColumn(); DataGridViewTextBoxColumn espId = new DataGridViewTextBoxColumn(); DataGridViewTextBoxColumn espFull = new DataGridViewTextBoxColumn(); DataGridViewTextBoxColumn userFull = new DataGridViewTextBoxColumn(); flag.HeaderText = "F"; flag.Name = "FLAG"; flag.ReadOnly = true; espId.HeaderText = "ID"; espId.Name = "espId"; espId.ReadOnly = true; espFull.HeaderText = "Original Name"; espFull.Name = "espFull"; espFull.ReadOnly = true; userFull.HeaderText = "Translated Name"; userFull.Name = "userFull"; dgv.AllowUserToAddRows = false; dgv.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { flag, espId, espFull, userFull }); dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; tp.Controls.Add(dgv); int number = tabControl1.SelectedIndex; string[] row = new string[]{"!", number.ToString(),"My very old chestnut horse", " "}; dgv.Rows.Add(row); } else { tabControl1.SelectTab(tp); int number = tabControl1.SelectedIndex; string[] row = new string[] { "?", number.ToString(), "My very big car", " " }; dgv.Rows.Add(row); } }
Merci d'avance.
Partager