FlexGrid for UWP
データマップされた列
C1FlexGrid の使い方 > 編集機能 > データマップされた列

データマップされた列には、実際の値ではなく、キーが含まれます。たとえば、列の内容は国の 都道府県コード を表す整数であっても、対応する国名をユーザーが表示および編集できるようにします。

このシナリオでは、2行を超えるコードが必要になります。

C#
コードのコピー
// IDsの代わりに国名を表示するようにCountryID列をマップします
Dictionary<int, string> dct = new Dictionary<int, string>(); foreach (var country in Customer.GetCountries()) {     dct[dct.Count] = country; } col = _flexEdit.Columns["CountryID"]; col.ValueConverter = new ColumnValueConverter(dct); col.HorizontalAlignment = HorizontalAlignment.Left; col.Width = new GridLength(120)

このコードは、最初に、国の 都道府県コード 値(整数)を国名(文字列)にマップする辞書を構築します。

次に、その辞書を使用して ColumnValueConverter を構築し、前の例と同様に、そのコンバータを列の ValueConverter プロパティに割り当てます。

ユーザーは、辞書に存在するすべての国を選択でき、マップされていない値を入力できなくなります。

最後に、このコードは、列の配置を左揃えに設定します。この列の実際の内容は整数値なので、デフォルトでは右揃えで配置されます。ここでは、名前を表示するため、左揃えに設定します。