1

を使用DataGridViewして PostgreSQL データベースのデータを表示および編集していますが、正常に動作しています。Controlデータの入力権を選べるようにして、もう少し使いやすくしたい。具体的にComboBoxは、列に を作成して、ユーザーが値をすばやく検索して選択できるようにしたいと考えています。

EditingControlShowingそのためには、コンボボックスを埋めるイベントが必要だと思います。ただし、取得する列のタイプDataGridViewTextBoxColumnは であるため、対応するのe.Controlは aTextBoxではなく aComboBoxです。

これらの列はデータベースのビューから取得されるため、初期化することはありません。列をにキャスト/初期化するにはどうすればよいDataGridViewComboBoxColumnですか?

これが私の入力方法ですDataGridView

dgView.DataSource = getView();

getView()DataTableから取得できるa を返しますNpgsqlDataAdaper

4

2 に答える 2

1

a 以外のものを使用したいので、自分で列DataGridViewTextBoxColumnを設定AutoGenerateColumnsfalseて実際に定義する必要があります。それらを定義するときDataGridViewComboBoxは、適切なフィールドの列を選択してください。

これはコードまたはデザイナーで行うことができ、質問に基づいて、デザイナーを介して簡単に行うことができるはずです。

于 2013-07-02T12:09:03.757 に答える
0

You should do it in 2 steps. 1. First of all ( as mentioned by Michael) you should set AutoGenerateColumns to false and then create the required columns using the datagrid view columns option (in properties) 2. Then you should loop through your records and assign appropriate values to appropriate columns.

In case you have hundreds of records that you are showing in grid view, than you should consider using server side paging.

于 2013-07-02T12:12:33.537 に答える