マップリストは、グリッドに保存されているデータをユーザーが理解できる値にマップします。このようなマッピングは、実際にグリッドに保存されているデータがエンコードされていたり、ユーザーによる理解が難しい場合に、ユーザーフレンドリな値を表示するためによく使用されます。たとえば、従業員レコードのテーブルの場合、データベースには従業員 ID が保存されていても、管理職ユーザーには従業員の名前が表示されないと不便です。
FlexGrid でデータマッピングを実行するには、DataMap プロパティを使用します。 このプロパティには、データベース値とグリッドに表示される値をマップする IDictionary オブジェクトへの参照が含まれます。HashTable、ListDictionary、および SortedList は、有効なデータマップを提供する IDictionary オブジェクトの一例です。
次のコードは、WinForms FlexGrid でデータマップリストを表示する方法を示しています。
HashTable、ListDictionary、SortedList の各クラスでは、項目の並び順が異なります。このため、編集可能な列でこれらのテーブルを使用する場合は、マップリストにレンダリングされる項目の順序も、リストの作成に使用されるキーとクラスによって異なります。
データマップのキーの型は、編集対象のセルの型と同じである必要があります。たとえば、列に短整数(Int16)が含まれている場合、その列に関連するデータマップには単整数のキーが含まれている必要があります。
FlexGrid 列にイメージマップを表示するには、Row オブジェクトまたは Column オブジェクトの ImageMap プロパティを、画像と対応するテキスト値をマップする IDictionary オブジェクトに設定する必要があります。 たとえば、列に国名が格納されている場合は、このプロパティを使用して、対応する国旗を表示できます。オブジェクトの ImageAndText プロパティを使用して、画像のみを表示するか、画像とテキストを表示するかを制御できます。
WinForms FlexGrid でイメージマップを作成するには、次のコードを使用します。