新浪博客

vb.net 给DataGridView的DataGridViewComboBoxColumn列赋值(转载)

2012-07-13 12:33阅读:
原文转载自http://code.3rbang.com/datagridviewcomboboxcolumn/
DataGridView的列可以设成ComboBox下拉列,也就是DataGridViewComboBoxColumn,下面的方法是给每行的DataGridViewComboBoxColumn赋不同的值,使用绑定数据源的方法,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'假设DataGridView有两列,第一列是DataGridViewTextBoxColumn格式,第二列是DataGridViewComboBoxColumn格式
'先循环给第一列赋值
For Each dr As DataRow In ds.Tables(0).Rows
dim str as string = dr.Item('字段名').ToString.Trim
Me.dgv.R
ows.Add(str )
Next
'给第二列col2赋值
For i As Integer = 0 To Me.dgv.Rows.Count - 1
Dim col As New System.Windows.Forms.DataGridViewComboBoxCell
Me.dgv.Rows(i).Cells('col2') = col
dim str as string = Me.dgv.Rows(i).Cells('col1').Value.ToString.Trim
'根据第一列的值获取dataset
dim ds as dataset = d.getdata(str)
'绑定数据源
With col
.DataSource = ds .Tables(0)
.DisplayMember = '字段名'
.ValueMember = '字段名'
End With
'注意要使DataGridViewComboBoxColumn可以下拉,必须要将DataGridView设成可以编辑的,最好DataGridViewComboBoxColumn列的readonly也设成false



datagridview的每个combobox单元格指定独立的下拉列表


Dim dtgCol As New DataGridViewComboBoxCell
dtgCol.DataSource = DataTable
dtgCol.DisplayMember = 'colName'
dtgCol.ValueMember = 'colId'
DataGridView1.Rows(0).Cells(0) = dtgCol
这个方法可以!你想要第几行第几列绑定什么内容都可以。试试!

我的更多文章

下载客户端阅读体验更佳

APP专享