def explicit_table(): columns = [ Column(name="foo"), Column.number(name="bar"), ] return Table(data=get_data(), columns=columns, attrs=lambda table: {'class': 'listview', 'id': 'table_id'})
class FooTable(Table): a = Column.number( ) # This is a shortcut that results in the css class "rj" (for right justified) being added to the header and cell b = Column() c = Column(cell__format=lambda table, column, row, value: value[-1] ) # Display the last value of the tuple sum_c = Column(cell__value=lambda table, column, row: sum(row.c), sortable=False) # Calculate a value not present in Foo
class TestTable(Table): a = Column.number( sortable=False, query__show=True, query__gui__show=True ) # turn off sorting to not get the link with random query params b = Column.substring(query__show=True, query__gui__show=True) class Meta: sortable = False
class TestTable(Table): foo__a = Column.number() foo__b = Column() foo = Column.choice_queryset( model=Foo, choices=lambda table, column: Foo.objects.all(), query__show=True, bulk__show=True, query__gui__show=True)
class TestTable(Table): class Meta: attrs = { 'class': lambda table: 'listview', 'id': lambda table: 'table_id', } foo = Column() bar = Column.number()
class TestTable(NoSortTable): icon = Column.icon(is_report) edit = Column.edit(is_report) delete = Column.delete(is_report) download = Column.download(is_report) run = Column.run(is_report) select = Column.select(is_report) boolean = Column.boolean(is_report) link = Column.link(cell__format="Yadahada name") number = Column.number()
class BarTable(Table): select = Column.select( ) # Shortcut for creating checkboxes to select rows b__a = Column.number( # Show "a" from "b". This works for plain old objects too. query__show=True, # put this field into the query language query__gui__show=True ) # put this field into the simple filtering GUI c = Column( bulk__show=True, # Enable bulk editing for this field query__show=True, query__gui__show=True)
class TestTable(Table): class Meta: attrs = { 'class': 'listview', 'id': 'table_id', } foo = Column() bar = Column.number() icon = Column.icon('history', is_report, group="group") edit = Column.edit(is_report, group="group") delete = Column.delete(is_report)
def explicit_table(): columns = [ Column(name="foo"), Column.number(name="bar"), ] return Table(data=get_data(), columns=columns, attrs=lambda table: { 'class': 'listview', 'id': 'table_id' })
class BarTable(Table): select = Column.select( ) # Shortcut for creating checkboxes to select rows b__a = Column.number( ) # Show "a" from "b". This works for plain old objects too. b = Column.choice_queryset( show=False, choices=Foo.objects.all(), model=Foo, bulk__show=True, query__show=True, query__gui__show=True, ) c = Column(bulk=True) # The form is created automatically d = Column( display_name='Display name', css_class={'css_class'}, url='url', title='title', sortable=False, group='Foo', auto_rowspan=True, cell__value=lambda table, column, row: row.b.a // 3, cell__format=lambda table, column, row, value: '- %s -' % value, cell__attrs__class__cj=True, cell__attrs__title='cell title', cell__url='url', cell__url_title='cell url title') e = Column(group='Foo', cell__value='explicit value', sortable=False) f = Column(show=False, sortable=False) g = Column(attr='c', sortable=False) django_templates_for_cells = Column( sortable=False, cell__value=None, cell__template='kitchen_sink_cell_template.html') class Meta: model = Bar
class TestTable(Table): a = Column.number( sortable=False, bulk__show=True ) # turn off sorting to not get the link with random query params b = Column(bulk__show=True)
class TestTable(Table): a = Column.number( sortable=False ) # turn off sorting to not get the link with random query params b = Column( show=False) # should still be able to filter on this though!
def explicit_table(): columns = [Column(name="foo"), Column.number(name="bar")] return Table(data=get_data(), columns=columns, attrs__class__another_class=True, attrs__id="table_id")
class TestTable(Table): a = Column.number() b = Column()
class TestTable(Table): foo = Column() bar = Column.number(sort_key='bar')