投稿者 魔界の仮面弁士  (社会人) 投稿日時 2019/12/18 09:34:35
サンプル。

Public Class Form1
    Private ds As New DataSet
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        dgv.RowCount = 4

        Dim fruit As New Dictionary(Of IntegerStringFrom {{0, ""}, {1, "🍎りんご"}, {2, "🍌バナナ"}, {3, "🍇ぶどう"}}
        Dim game As New Dictionary(Of IntegerStringFrom {{0, ""}, {1, "☖将棋"}, {2, "♔チェス"}, {3, "●囲碁"}}

        col2.DataSource = fruit.ToArray()
        col3.DataSource = game.ToArray()

        dgv("col1", 0).Value = "0行目"

        Dim cell01 As New DataGridViewComboBoxCell()
        cell01.ValueMember = "Key"
        cell01.DisplayMember = "Value"
        cell01.DataSource = fruit.ToArray()
        cell01.Value = 2
        dgv("col1", 1) = cell01

        Dim cell02 As New DataGridViewComboBoxCell()
        cell02.ValueMember = "Key"
        cell02.DisplayMember = "Value"
        cell02.DataSource = game.ToArray()
        cell02.Value = 2
        dgv("col1", 2) = cell02

        dgv("col1", 3).Value = "3行目"
    End Sub

#Region "実際にはデザイン時に設定しておく範囲ですが、説明のために記述しています"
    Private WithEvents dgv As DataGridView
    Private WithEvents col1 As DataGridViewTextBoxColumn
    Private WithEvents col2 As DataGridViewComboBoxColumn
    Private WithEvents col3 As DataGridViewComboBoxColumn
    Public Sub New()
        InitializeComponent()
        Padding = New Padding(8)
        dgv = New DataGridView() With {.Name = "dgv"}
        dgv.Dock = DockStyle.Fill
        Controls.Add(dgv)
        col1 = New DataGridViewTextBoxColumn() With {.Name = "col1"}
        col2 = New DataGridViewComboBoxColumn() With {.Name = "col2"}
        col3 = New DataGridViewComboBoxColumn() With {.Name = "col3"}
        col2.ValueMember = "Key"
        col2.DisplayMember = "Value"
        col3.ValueMember = "Key"
        col3.DisplayMember = "Value"
        dgv.Columns.AddRange(col1, col2, col3)
        dgv.EditMode = DataGridViewEditMode.EditOnEnter
        dgv.AllowUserToAddRows = False
    End Sub
#End Region
End Class