DataMaps
In many situations, you may want columns to map values so that cells display a value that is different from what is actually stored in the grid.
For example, you may have a 'rating' column with values ranging from one to three, and you would like to display the strings 'Low', 'Medium', or 'High' instead.
Or maybe you have a 'customer' column that contains the customer ID, and you would like to display the customer name instead.
You could accomplish such tasks using the formatItem event, but FlexGrid provides a better alternative: DataMaps. If you set a column's dataMap property to an instance of a DataMap, the grid will use it to:
- Look up display values for each data item, and
- Provide a drop-down list with valid items when editing the cells.
For example, the grid below has a 'Customer' column with a DataMap that associates customer names and IDs. The data source contains customer IDs, but the grid shows their names instead, and provides a drop-down list for selecting the customer for each item.
The grid also assigns a dataMap to the 'Country' column. In this case, the map is just a string array with the country names. There is no real mapping, but you still get the drop-down list to pick from. Users will not be able to enter any countries that are not on the list.
And here is another grid showing all the customers. If you edit their names, you will see the change in the top grid: