[英]gxt: custom grid cell style
我想在网格中创建自定义单元格。 这不是问题。 问题:此自定义单元格中的文本样式不正确。
myColumn.setRenderer(new GridCellRenderer<TaskModel>() {
public Object render(TaskModel model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<TaskModel> taskModelListStore, Grid<TaskModel> taskModelGrid) {
VerticalPanel panel = new VerticalPanel();
Html html = new Html("xxxx");
Button b = new Button("xxxxxxxx");
panel.add(html);
panel.add(b);
return panel;
}
});
为什么会这样?
您必须为自己设置样式。
Html html = new Html("<div class=\"myStyle\">xxxx</div>");
然后在stylesheet.css文件中(根据您的项目设置,其名称可能有所不同)
.myStyle {
//style you want
}
或内联,如果您不想编辑样式文件,例如:
Html html = new Html("<div style=\"font-weight: bold;\">xxxx</div>");
但是我更喜欢在代码之外存储样式的位置(如我的第一个建议)
如果您希望文本的样式与其他GXT文本相同,请创建一个GXT文本对象,然后添加它。 如果需要自定义样式,则需要使用@denu建议的自己的CSS。
我认为类似new Text("xxxx");
可能就是您想要的。
@Travis有什么区别:
ColumnConfig column1 = new ColumnConfig("1", 200);
column1.setRenderer(new GridCellRenderer<TaskModel>() {
public Object render(TaskModel model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<TaskModel> taskModelListStore, Grid<TaskModel> taskModelGrid) {
VerticalPanel panel1 = new VerticalPanel();
panel1.add(new Html("html"));
panel1.add(new Label("label"));
panel1.add(new Text("text"));
panel1.add(new Button("button"));
return panel1;
}
});
ColumnConfig column2 = new ColumnConfig("2", 200);
column2.setRenderer(new GridCellRenderer<TaskModel>() {
public Object render(TaskModel model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<TaskModel> taskModelListStore, Grid<TaskModel> taskModelGrid) {
return new Text("text");
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.