VB2005 DataGridViewに手動でコンボボックス列やチェックボックス列を作成

VB2005で,DataGridViewにDataSourceを割り当てて表示するときに,手動でコンボボックス列やチェックボックス列を作成する方法.
(DataSourceに割り当てたデーターにはIDが入っているが,IDではなくIDに対応した項目名をコンボボックスに表示したい場合など)

    Private Sub a()

        ‘グリッドに表示するデーター

        Dim dt0 As New DataTable
        dt0.Columns.Add(“項目1”, GetType(Integer))
        dt0.Columns.Add(“項目2”, GetType(Boolean))
        dt0.Columns.Add(“項目3”, GetType(String))
        dt0.Rows.Add(0, True, “あいうえお”)
        dt0.Rows.Add(1, False, “かきくけこ”)
        dt0.Rows.Add(2, True, “さしすせそ”)

       
‘項目1のコンボボックス列用データー

        Dim dt1 As New DataTable
        dt1.Columns.Add(“ID”, GetType(Integer))
        dt1.Columns.Add(“名称”, GetType(String))
        dt1.Rows.Add(0, “A”)
        dt1.Rows.Add(1, “B”)
        dt1.Rows.Add(2, “C”)

        ‘DataGridViewに手動で列作成

        With DataGridView1

            .AutoGenerateColumns = False ‘列が自動的に作成されないようにする
            .DataSource = dt0

           ‘項目1列作成(コンボボックス列)
            Dim Col_cmb1 As New DataGridViewComboBoxColumn()
            Col_cmb1.DataSource = dt1
            Col_cmb1.DisplayMember = “名称”
            Col_cmb1.ValueMember = “ID”
            Col_cmb1.DataPropertyName = “項目1”
            Col_cmb1.Name = “項目1”
            Col_cmb1.DisplayStyleForCurrentCellOnly = True ‘カレントセルのみコンボボックスを表示する
            ‘Col_cmb1.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing ‘編集時のみコンボボックスを表示する
            .Columns.Add(Col_cmb1)

            ‘項目2列作成(チェックボックス列)
            Dim Col_chk1 As DataGridViewCheckBoxColumn = New DataGridViewCheckBoxColumn()
            Col_chk1.DataPropertyName = “項目2”
            Col_chk1.Name = “項目2”
            ‘Col_chk1.ThreeState = True ‘3種類のチェック状態(中間状態)を表示する場合
            .Columns.Add(Col_chk1)

            ‘項目3列作成(テキストボックス列)
            Dim Col_txt1 As DataGridViewColumn = New DataGridViewTextBoxColumn()
            Col_txt1.DataPropertyName = “項目3”
            Col_txt1.Name = “項目3”
            .Columns.Add(Col_txt1)

            ‘.AutoResizeColumns()

        End With

    End Sub

Delphi2010 ヘルプ

Delphi2010のヘルプは内容が不完全で使えない.
Delphi2009またはそれ以前のヘルプのほうがまだましなので,削除せずに残しておいてそちらを参照するのがよい.

ことばシリーズ(1)

終極において,人は人生の意味は何であるかを問うべきではない.
むしろ自分が人生に問われていると理解すべきである.
一言で言えば,すべての人は人生に問われているのだ.
自分の人生の責任を引き受けることによってしか,その問いかけに答える事はできない.

ヴィクトール・E・フランクル (1905 – 1997)

ことばシリーズは,私が本を読んだりして印象に残った言葉を書いていきます.
月1回くらいを目標にします.