FlexGrid for WPF
オートコンプリートとマップ列
基本操作 > 編集機能 > オートコンプリートとマップ列

オートコンプリートとマップされた列は、ColumnValueConverter と呼ばれる組み込みクラスを使って実装されます。

以下に、このクラスで処理するオートコンプリート機能の 2 つのシナリオを示します

オートコンプリートの排他モード(リストボックス形式の編集)

いくつかの特定の値のみを受け入れることができる列。たとえば、文字列型の「都道府県」列と都道府県のリストがあるとします。ユーザーはリストから都道府県を選択しなければならず、リストにない都道府県は入力できません。

このシナリオは、2 行のコードを使って処理できます。

コードのコピー
var c = _flexEdit.Columns["都道府県"];
c.ValueConverter = new ColumnValueConverter(GetCountryNames(), true);

ColumnValueConverter コンストラクタの最初のパラメータは、有効な値のリストです。2 番目のパラメータは、ユーザーがリストにない値を入力できるようにするかどうかを設定します(この例では、入力できないようにします)。

オートコンプリートの非排他モード(コンボボックス形式の編集)

いくつかの特定の値を含み、それ以外の値も受け入れる列。たとえば、文字列型の「都道府県」列がある場合に、ユーザーが簡単に選択できるように都道府県のリストを提供しつつ、ユーザーがリストにない値も入力できるようにします。

このシナリオも、2 行のコードを使って処理できます。

コードのコピー
var c = _flexEdit.Columns["都道府県"];
c.ValueConverter = new ColumnValueConverter(GetCountryNames(), false);

同様に、ColumnValueConverter コンストラクタの最初のパラメータは、有効な値のリストです。この場合、2 番目のパラメータは、ユーザーがリストにない値を入力できるように、リストを排他的にしないように設定します。

次の項目に、データマップ機能の詳細を示します。

関連トピック