【VB.NET】DataGridView内の既存コンボボックス列にデータを設定する

2012/06/02(土) 16:30:30 VB.NET EDIT   このエントリーをはてなブックマークに追加  
combobox_01.jpg

VB.NETおよびオブジェクト指向ど素人の個人用学習メモ。
(Microsoft Visual Basic 2005 Express Edition)

■やりたいこと

DataGridView内の既存のコンボボックス列にデータを設定する。

たとえば、
左から「項目1」「項目2」という列があるDataGridView
(うち「項目1」がコンボボックス列とする)で、
項目1にDataTableをバインドさせ、データを設定する。

 
 
■やってみた

(1)まずはDataTableを用意

コンボボックスに設定するためのデータテーブルを用意します。

Dim dtTbl As New DataTable
dtTbl.Columns.Add("Display", GetType(String))
dtTbl.Columns.Add("Value", GetType(Integer))
dtTbl.Rows.Add("織田信長", 0)
dtTbl.Rows.Add("豊臣秀吉", 1)
dtTbl.Rows.Add("徳川家康", 2)


(2)DataGridViewComboBoxColumnの設定

まずDataGridViewComboBoxColumnを用意して、
DataGridView内の任意の列を、型変換して対応させます。

Dim cbc As New DataGridViewComboBoxColumn
cbc = CType (DataGridView1.Columns(0), DataGridViewComboBoxColumn)


(3)あとはDataTableをバインドするだけ

DataSourceを設定して、値と表示値を設定してあげればOK。

cbc.DataSource = dtTbl
cbc.ValueMember = "Value"
cbc.DisplayMember = "Display"


これで、DataTableの内容がコンボボックス列に設定されてくれました。

■ブログ内記事一覧

【VB.NET】関連記事インデックス
関連記事



  このエントリーをはてなブックマークに追加  

管理者にだけ表示を許可する

topentry -