Author: asterix Date: 2007-08-19 23:45:35 +0200 (Sun, 19 Aug 2007) New Revision: 8508
Modified: trunk/src/dataforms_widget.py Log: show search results in correct columns if result is not in the same order as <reported> element. fixes #3379
Modified: trunk/src/dataforms_widget.py =================================================================== --- trunk/src/dataforms_widget.py 2007-08-19 20:01:38 UTC (rev 8507) +++ trunk/src/dataforms_widget.py 2007-08-19 21:45:35 UTC (rev 8508) @@ -141,20 +141,23 @@
# creating model for form... fieldtypes = [] + fieldvars = [] for field in self._data_form.reported.iter_fields(): # note: we store also text-private and hidden fields, # we just do not display them. # TODO: boolean fields #elif field.type=='boolean': fieldtypes.append(bool) fieldtypes.append(str) + fieldvars.append(field.var)
self.multiplemodel = gtk.ListStore(*fieldtypes)
# moving all data to model for item in self._data_form.iter_records(): - # TODO: probably wrong... (.value[s]?, fields not in the same order?) - # not checking multiple-item forms... - self.multiplemodel.append([field.value for field in item.iter_fields()]) + iter = self.multiplemodel.append() + for field in item.iter_fields(): + self.multiplemodel.set_value(iter, fieldvars.index(field.var), + field.value)
# constructing columns... for field, counter in zip(self._data_form.reported.iter_fields(), itertools.count()):