2

手動でコーディングすることなく、フィールドの1つをdatagridviewのドロップダウンに設定しようとしています。現在、AutoGenerateColumns = falseを使用して、列を作成し、1つずつ追加しています。

dataGridView3.AutoGenerateColumns = false;
DataGridViewComboBoxColumn reasonCode = 
    new DataGridViewComboBoxColumn() {
                                       DataPropertyName = "REASON", 
                                       HeaderText = "Reason Code" 
                                     };
dataGridView3.Columns.Add(reasonCode);

これは機能しますが、列を追加するときに維持するのが面倒な場合があります。コントロールに列を自動生成させると、非常に簡単ですが、コンボボックスを表示する方法がわかりません。

問題は、datagridviewがコンボボックスの表示方法を認識できるように、バインドされているデータテーブルを構成する方法はありますか?または、これを行うためのより効率的な方法はありますか?

ほとんどすべての列が完全に自動生成されます。すべての列を手動で作成する必要があるのは、この1つのコンボボックスだけです。

4

1 に答える 1

0

DataGridViewComboBoxColumn手動で手動で追加してからtrueに設定して、残りの列を生成してみくださいAutoGenerateColumns。私はこれをテストしていませんので、それがあなたの問題を解決するかどうかはわかりません。

MSDNから-DataGridView.AutoGenerateColumnsプロパティ

このプロパティがtrueに設定され、DataSourceまたはDataMemberプロパティが設定または変更されると、列が自動的に生成されます。 AutoGenerateColumnsプロパティがfalseからtrueに変更されたときに、列を自動的に生成することもできます。このプロパティがtrueで、データソースが変更され、前のデータソース値の列と一致しない列がある場合、一致しない列のデータは破棄されます。DataSourceまたはDataMemberプロパティが設定されていない場合、このプロパティは無視されます。

(強調追加)

于 2012-08-01T15:12:53.410 に答える