下面是一个简单的数据类:
Public Class MyData
Private _ID As Integer
Private _ItemValue As String
Public Sub New(ByVal id As Integer, ByVal itemValue As String)
_ID = id
_ItemValue = itemValue
End Sub
ReadOnly Property ID() As Integer
Get
Return _ID
End Get
End Property
Public Property ItemValue() As String
Get
Return _ItemValue
End Get
Set(ByVal value As String)
_ItemValue = value
End Set
End Property
End Class
创建一个表单,并在其上放置一个DataGridView控制,添加以下代码:
Private myList As New List(Of String)
Private myItems As New List(Of MyData)
Protected Overrides Sub OnLoad(ByVal e As EventArgs)
MyBase.OnLoad(e)
myList.Add("First Item")
myList.Add("Last Item")
myItems.Add(New MyData(1, "Last Item"))
myItems.Add(New MyData(2, "First Item"))
DataGridView1.AutoGenerateColumns = False
DataGridView1.Columns.Add(New DataGridViewTextBoxColumn() With _
{.HeaderText = "ID", _
.DataPropertyName = "ID"})
DataGridView1.Columns.Add(New DataGridViewComboBoxColumn() With _
{.HeaderText = "ItemValue", _
.DataSource = myList, _
.DataPropertyName = "ItemValue"})
DataGridView1.DataSource = myItems
End Sub
既然你想要在网格中使用组合框,必须将AutoGenerateColumns
设置为false并自行创建它们,通过将每列映射到类中的属性财产。对于组合框,您可以设置自己的DataSource
以查看下拉列表项目。
谢谢LarsTech。我会尝试。 – 2012-08-15 13:15:01