add RecordsTable field - context-based, i.e. the columns are defined in the object or type

This commit is contained in:
Helmut Merz 2023-12-28 09:09:00 +01:00
parent e5f1be9f91
commit 94ce64ef00
2 changed files with 17 additions and 0 deletions

View file

@ -282,6 +282,13 @@ class KeyTableFieldInstance(RecordsFieldInstance):
pass pass
class ContextBasedRecordsFieldInstance(RecordsFieldInstance):
@Lazy
def columnTypes(self):
obj = self.clientInstance.context
return [Field(name) for name in obj.columnNames]
class ContextBasedKeyTableFieldInstance(KeyTableFieldInstance): class ContextBasedKeyTableFieldInstance(KeyTableFieldInstance):
@Lazy @Lazy

View file

@ -51,6 +51,16 @@ class Records(Grid):
instanceName='records',)) instanceName='records',))
class RecordsTable(Grid):
__typeInfo__ = ('recordstable',
FieldType('recordstable', 'recordstable',
u'A series of records or rows.',
displayRenderer='display_records',
inputRenderer='input_records',
instanceName='recordstable',))
class KeyTable(Grid): class KeyTable(Grid):
__typeInfo__ = ('keytable', __typeInfo__ = ('keytable',