0
我有一个DataGrid创建。现在,我希望用户能够使用+和 - 符号单击按钮,以使数据网格中的文本更大或更小。GWT DataGrid更改行字体大小
我知道我可以这样做:
DataGrid table = new DataGrid<Row>();
table.setRowStyles(new RowStyles<LogRow>() {
@Override
public String getStyleNames(LogRow row, int rowIndex) {
return className;
}
});
但我要动态地更改字体。我的意思是“当前字体大小+1”或“当前字体大小-1”。
有没有办法?或者我必须为每个字体大小创建特殊的类?
我试着在我的类的“getFontSize()”方法中定义一个常量,但它是一个常量,所以它只会获取该值一次,然后忽略对fontSize属性的任何更改在我的班级。
我试图
table.getElement().getStyle().setFontSize(newFontSize, Style.Unit.PX);
或
table.getRowContainer().getStyle().setFontSize(newFontSize, Style.Unit.PX);
,但没有成功。也许我必须针对子元素?
感谢您的任何帮助。
我使用GSS,所以语法有一点不同,但它看起来像我想要的。我做了@def FONT_SIZE eval(“package.function()”);我只是不知道如何“reeval”这一点。所以我想你的代码可以解决这个问题,但它似乎覆盖了我的样式(从引导程序),并完全混淆了我的用户界面,字体大小没有改变。只要我得到它的工作,我接受你的答案:) –
好吧,我可以注入我的gss文件,我看到它的字体大小的变化。然而,原始样式的类名为:“.C2PGHCB-f-q td”,但注入的类名为“.C2PGHCB-a-qd”,因此它不会覆盖以前的样式,因为它具有不同的名称。 –
ohh我再次检查了我的例子...您必须将使用'@eval FONT_SIZ'的css类添加到'@ external' ...创建类'.fontSIze'并将其添加到您的gridRows。所以只有这个'.fontSize'不会被混淆。我会编辑我的文章 – Tobika