FlexGrid for UWP
オートコンプリートとマップされた列
C1FlexGrid の使い方 > 編集機能 > オートコンプリートとマップされた列

オートコンプリートとマップされた列は、ColumnValueConverter と呼ばれる組み込みクラスを使用して実装されます。このクラスは、一般的な3つの結合シナリオを処理します。

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

いくつかの特定の値のみを受け入れる列。 たとえば、文字列型の "住所" 列と国名のリストがある場合に、ユーザーが国名のリストからのみ国を選択でき、リストにない値を入力できません。このシナリオは、2行のコードを使用して処理できます。

マークアップ
コードのコピー
var c = flexgrid1.Columns["Country"];   
c.ValueConverter = new ColumnValueConverter(GetCountryNames(), true);

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

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

いくつかの一般的な値を含み、それ以外の値も受け入れる列。たとえば、文字列型の "住所" 列がある場合に、ユーザーが簡単に選択できるように一般的な国名のリストを提供することにします。ただし、この場合は、ユーザーがリストにない値も入力できるようにします。このシナリオも、2行のコードを使用して処理できます。

マークアップ
コードのコピー
var c = flexgrid1.Columns["Country"];
    c.ValueConverter = new ColumnValueConverter(GetCountryNames(), false);

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