データセットによって設定された datagridview があります。データセットでもある独自のデータソースを持つコンボボックスを含む 3 つの列を追加しようとしています。
ここで CRUD コントロールを削除すると、コンボボックスの列を追加しようとしています。
Private Sub GenComboBoxColumns()
Dim priorityTypesDS As New DataSet()
Dim serviceBoardsDS As New DataSet()
Dim serviceTypesDS As New DataSet()
priorityTypesDS = _objhost.GetDataSet("SELECT DISTINCT abc FROM foo ORDER BY abc")
serviceBoardsDS = _objhost.GetDataSet("SELECT DISTINCT abc FROM bar ORDER BY abc")
serviceTypesDS = _objhost.GetDataSet("SELECT DISTINCT abc, xyz FROM foobar ORDER BY xyz")
If dataGridView_monitorMapping IsNot Nothing AndAlso dataGridView_monitorMapping.Rows.Count > 0 Then
Dim col_priority As New DataGridViewComboBoxColumn
Dim col_serviceBoard As New DataGridViewComboBoxColumn
Dim col_serviceType As New DataGridViewComboBoxColumn
col_priority.DataSource = priorityTypesDS
col_serviceBoard.DataSource = serviceBoardsDS
col_serviceType.DataSource = serviceTypesDS
dataGridView_monitorMapping.Columns.AddRange(col_priority, col_serviceBoard, col_serviceType)
End If
サブ終了
ただし、実際には、datagridview 内に含まれるビュー領域 (7 列以上!) からはみ出す多数の列を生成していますが、それらは 3 つしかないはずです。
私が達成しようとしていることを理解するために、以下の例を見てください。コンボボックスとそのそれぞれのオプションが (foo*Bar*FooBar*) => 3 つの選択肢を持つコンボボックスとして示されていると考えてください。
---------------------------------------------------------------------------------
|Apple | (plant*animal) | (blue*green*red*etc) | (smooth*rough*) |
|Steak | (plant*animal) | (blue*green*red*etc) | (smooth*rough*) |
|Peach | (plant*animal) | (blue*green*red*etc) | (smooth*rough*) |
---------------------------------------------------------------------------------
いつものように; 助けていただければ幸いです。=)