Ok, so the following "works", but if someone with more knowledge could comment on this I'd appreciate it.
class MovieColumnSubmit(fieldcolumn.SubmitColumn): def getId(self, item, formatter): return fieldcolumn.toSafe(item.__name__) def update(self, items, data, formatter): pass class MovieColumn(fieldcolumn.FieldColumn): def getId(self, item, formatter): return fieldcolumn.toSafe(item.__name__) def update(self, items, data, formatter): changed = False for item in items: id = self.getId(item, formatter) v = data.get(id, self) if v is not self and self.get(item, formatter) != v: self.set(item, v, formatter) changed = True if changed: self.setAnnotation('changed', changed, formatter) return changed class TableView(BrowserPage): """ Browser Page """ columns = ( MovieColumn( IMovieTime['brief']), MovieColumn( IMovieTime['times']), MovieColumnSubmit("apply", "MYFORM"), ) def __call__(self): items = [value for name, value in self.context.items()] formatter = table.Formatter( self.context, self.request, items, ('brief', 'times', 'MYFORM'), columns=self.columns, prefix="tableview") columns = self.columns for index, value in enumerate(columns): data = columns[index].input(items, formatter) columns[index].update(items, data, formatter) return """<html><head></head><body><form action="./@@TableView.html">%s</form></body></html>""" % formatter() _______________________________________________ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users