Bonjour à tous,
J'ai dérivé un datagridview pour créer dynamiquement mon propre objet _dgv_Pays , je recherche comment remplir mes colonnes. Je passe par un bindingsource et un datatable:
Et maintenant comment faire pour que ma colonne 1 contient le champ de retour 1 de ma requete et la colonne 2 le champ de retour 2 de ma requete.... Je veux le faire dynamiquement, car parfois, j'aurais 5 champs en retour et par forcement dans le bonne ordre de visualisation (ex: je récupère les champs 1,2,3,4 et 5, et je devrais afficher le champs 3, 1 et 5 avec le champ 2 non visible mais utilisable et le champ 4 non visible et sans interet)...
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 public frm_Pays() { InitializeComponent(); // Création d'un DATATABLE // -------------------------- DataTable _dt = new DataTable("dtTableNom"); _dt.Columns.Add("Identifiant",typeof(Int32)); _dt.Columns.Add("Désignation du pays", typeof(string)); _dt.Columns[0].Caption = _dt.Columns[0].ColumnName; _dt.Columns[1].Caption = "Désignation pays"; // Chargement de la table par retour d'une requete SQL (format de retour id, Libellé pays) _dt = Pays.PaysListe(); // Création du bindingSource BindingSource _bs = new BindingSource(); _bs.DataSource = _dt; // Affectation propriètes du datagridview _dgv_Pays instancié précédement // --------------------------------------------------------------------------- _dgv_Pays.Top = this.Top + 30; _dgv_Pays.Left = this.Left + 5; _dgv_Pays.Visible = true; _dgv_Pays.AutoGenerateColumns = false; // Je génére mes propres colonnes _dgv_Pays.ColumnHeadersVisible = true; _dgv_Pays.Columns.Add(new DataGridViewTextBoxColumn()); // 1er colonne crée _dgv_Pays.Columns.Add("toto", "Titre"); //2ème colonne crée _dgv_Pays.DataSource = _bs; // Affecte le data source Controls.Add(_dgv_Pays); //_dgv_Pays.Columns[1].HeaderText = _dt.Columns[1].Caption; //_dgv_Pays.Columns[].HeaderText=_dt.Columns[].Caption; //_dgv_Pays.Columns[0].Visible=false; //_dgv_Pays.Columns[1].Visible=true; }
Des idées pour m'aider dans cette aventure ?
Partager