我的代码:
List<ColumnConfig<Reminder, ?>> ccs = new LinkedList<ColumnConfig<Reminder, ?>>();
CheckBoxCell cbc = new CheckBoxCell();
ColumnConfig<Reminder,Boolean> applicableColumn = new ColumnConfig<Reminder,Boolean>(properties.applicable(),100,"Applicable");
applicableColumn.setCell(cbc);
applicableColumn.setAlignment(HasHorizontalAlignment.ALIGN_CENTER);
这是行不通的。
我意识到这个答案对于您的目的而言可能为时已晚,但是它可以帮助寻找相同问题的人。这是我使用的代码:
private void centerCheckBox(final ColumnConfig<Pet, ?> columnConfig) {
final int leftPadding = (columnConfig.getWidth() - 12) / 2;
final String styles = "padding: 3px 0px 0px " + leftPadding + "px;";
final SafeStyles textStyles = SafeStylesUtils.fromTrustedString(styles);
columnConfig.setColumnTextStyle(textStyles);
}
除了ColumnConfig
为创建后的每个复选框调用此方法外,我还为ColumnWidthChange
事件处理程序中的每个复选框列调用此方法(事件处理程序已添加到中ColumnModel
)。这是我的列宽更改处理程序的代码(注意:创建ColumnConfig
实例时,我将每个复选框列配置添加到集合中):
columnModel.addColumnWidthChangeHandler(new ColumnWidthChangeHandler() {
@Override
public void onColumnWidthChange(final ColumnWidthChangeEvent event) {
final ColumnConfig<Pet, ?> petColumnConfig = columnConfigList.get(event.getIndex());
if (_checkBoxSet.contains(petColumnConfig)) {
centerCheckBox(petColumnConfig);
_grid.getView().refresh(true);
}
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句