1

データセットによって設定された 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*) |
---------------------------------------------------------------------------------

いつものように; 助けていただければ幸いです。=)

4

0 に答える 0