How to change font size of data in qooxdoo table qx.ui.table.Table
?
The method for adjusting the font of the table is in the Row Renderer (typically qx.ui.table.rowrenderer.Default
) and is called _renderFont
. It's protected, but probably shouldn't be.
The default font that's used is the one called default
in the current theme. You can specify a different font for the Row Renderer to use, by selecting a different font from your theme:
table
.getDataRowRenderer()
._renderFont(qx.theme.manager.Font.getInstance().resolve("myTableFont"));
or if you don't want to modify the theme for it, explicitly, such as:
table
.getDataRowRenderer()
._renderFont(qx.bom.Font.fromString("20px Arial"));
Alternatives:
You could patch
qx.ui.table.cellrenderer.Abstract, but that's a lot more destructive than calling a protected method. As I said, that _renderFont
method really should be public.
In fact, I would definitely entertain a pull request that added a public method in qx.ui.table.rowrenderer.Default
called something like setFont
, that called _renderFont
, or moved the logic from _renderFont
into setFont
and then defined _renderFont
as an alias for setFont
. (I wouldn't remove _renderFont
entirely as it has possibly been overridden by peoples' row renderers that extend qx.ui.table.rowrenderer.Default
.
Another alternative, is to extend qx.ui.table.rowrenderer.Default
and then call table.setDataRowRenderer
passing an instance of your extended row renderer.