タイトル | : DataGridViewの列にcomboboxを表示する方法 |
記事No | : 8166 |
投稿日 | : 2008/09/18(Thu) 17:28 |
投稿者 | : 不二子 |
言語:VB2005 データベース:SQLServer 非接続型のデータアクセスです。 件名の件についてご教授お願いします。
DataGridViewに下記のデータをバインドしています。 SELECT ID, 所属コード, t1.名称 as 所属名称 FROM ATBL LEFT OUTER JOIN BTBL ON ATBL.所属コード = BTBL.コード ORDER BY ID
<ATBL> ID int 所属コード varchar(1) <BTBL> コード varchar(1) 名称 varchar(10)
次に下記のコードでDataGridViewの"所属名称"をコンボボックスに設定しているのですが、データが0件だと正常にコンボボックスが 作られるのですが、データが1件でもあるとエラーになります。 エラー表示後もマウスでカーソルをコンボボックスの上に持っていくだけでエラーとなります。 エラーの内容は↓です。頭が???になってます。よろしくお願いします。
System.FormatException: DataGridViewComboBoxCell の値が有効ではありません この既定のダイアログを置き換えるには、DataError イベントをハンドルしてください。
****************************** 'DataGridViewにComboBoxを設定(DataSourceプロパティを使用した例) ****************************** Dim DataSource As New DataTable("DataSource") DataSource.Columns.Add("Value", GetType(String)) DataSource.Columns.Add("code", GetType(Integer)) DataSource.Rows.Add("", 0) DataSource.Rows.Add("小学校", 1) DataSource.Rows.Add("中学校", 2) DataSource.Rows.Add("高校", 3) Dim column As New DataGridViewComboBoxColumn() column.DataPropertyName = "所属名称" column.DataSource = DataSource column.ValueMember = "code" column.DisplayMember = "Value" dgrview.Columns.Insert(dgrview.Columns("所属名称").Index, column) dgrview.Columns.Remove("所属名称") column.Name = "所属名称"
|