The Grid/DojoData pair do not handle sparse data properly. Say you design a view defining columns for 10 fields. Now give the Grid a DojoData whose ItemFileReadStore(say) delivers sparse data: on each row, only some fields are populated. Some rows have 2 elements, some 10, some 7.
Unfortunately there's no way to tell the DojoData class the fields you defined in your view. DojoData uses the fields it finds in the first row to build a map of fields.
