Bonsoir,
En fouinant un peu sur ce magnifique site , j’ai trouvé ce qu’il me faut pour ajouter une colonne de combobox dans un datagridview. Mon seul problème, c’est que cette colonne s’ajoute à la fin et que je la voudrais en troisième position. Voilà mon code:
(C’est peut-être un peu brouillon, toutes les histoires de datatable, dataset 1 et 2, etc. j’avoue que je comprends encore pas tout , mais ça marche !)
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 conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source = D:\Data.mdb;") da1 = New OleDbDataAdapter("SELECT Pos, Objet, Nbre, Unite, Prix, Pourcent, FROM TblPos ", conn) Dim cb As New OleDbCommandBuilder(da1) dt1 = New DataTable("Spos") conn.Open() da1.Fill(dt1) conn.Close() Dim Cbo As New DataGridViewComboBoxColumn Dim cmd As New OleDbCommand("SELECT UniteAbr FROM TblUnite", conn) Dim da2 As New OleDbDataAdapter(cmd) Dim dt2 As New DataTable da2.Fill(dt2) dv2 = New DataView(dt2) DGV3.DataSource = Nothing Dim bs1 As New BindingSource() dv1 = New DataView(dt1) bs1.DataSource = dv1 DGV3.DataSource = bs1 Cbo.DataSource = dv2 Cbo.ValueMember = "UniteAbr" Cbo.DisplayMember = "UniteAbr" Cbo.DataPropertyName = "Unite" Cbo.HeaderText = "Unite" DGV3.Columns(0).Visible = False DGV3.Columns(1).Width = 160 DGV3.Columns(1).HeaderText = "Objet Pos." DGV3.Columns(2).Width = 50 DGV3.Columns(2).HeaderText = "Nombre" DGV3.Columns(3).Visible = False DGV3.Columns(4).Width = 50 DGV3.Columns(4).HeaderText = "Prix Cl." DGV3.Columns(5).Width = 45 DGV3.Columns(5).HeaderText = "Pourcentage" DGV3.Columns(6).Width = 70
Comment indiquer la position de ma colonne "Cbo" dans tout ça ??
Merci beaucoup !
Guillaume
Partager