1

mySQL テーブルを表示および編集するための小さなアプリケーションを作成しています。

ComboBox 入力を DataGridView 内に配置して、他のテーブルの外部キーからデータを選択したいと考えています。

そうする方法はありますか?

これまでのところ、このコードしか見つかりませんでした:

        Dim cmb As New DataGridViewComboBoxColumn()
        cmb.HeaderText = "Select Data"
        cmb.Name = "cmb"
        cmb.DataSource = Form1.table
        cmb.DisplayMember = "adrese_id"
        cmb.ValueMember = "adrese_id"
        cmb.DataPropertyName = "adrese_id"
        DataGridView1.Columns.Add(cmb)

        Form1.adapter.Update(Form1.table)  

これは私のテーブルです:

アボネンティ

abonents_id PK
vards
uzvards
tel_num
adrese_id FK

アドレス

adrese_id PK
dziv_num
iela

コンボボックスから何かを選択すると、テーブルにある値に戻ります。なので、他のものに変更することはできません。

誰かがそれを修正する方法、またはデータグリッドビュー内で外部キーを操作するコンボボックスを作成する方法を知っていますか?

PSまた、元の列の代わりに選択列を配置する方法はありますか?

ありがとう。

4

1 に答える 1

1

これは、私が似たようなことをしたときに思いついたものです。

データを datagridview に挿入した後、セルをコンボボックスに変換します。したがって、基本的には、以下のコードのように DGV をループして、セル タイプを変更します。dgvDropDown 項目をデータベースからの項目に設定します (もちろん文字列として)。項目の値がドロップダウンに見つからない場合、エラーが発生することに注意してください。

int column = 0     
For row As Integer = 0 To DataGridView1.Rows.Count - 1
        Dim dgvDropDown As DataGridViewComboBoxCell = New DataGridViewComboBoxCell()
        dgvDropDown.Items.Add("dbItem1")
        dgvDropDown.Items.Add("dbItem2")
        DataGridView1.Item(column, row) = dgvDropDown
Next
于 2013-01-16T07:54:39.530 に答える