如何在GWT DataGrid

时间:2017-08-24 09:45:56

标签: java gwt datagrid

所以我构建了一个工作DataGrid,它加载我的数据没有任何问题。我传递了一个对象列表,它们被映射到正确的单元格。 我正在设置我的单元格的CSS,例如TextColumn.setCellStyleNames("gwt-myStyleClass"),这适用于实际的DataGrid数据列,但它不会影响标题。结果是我的数据格式很好,但DataGrid上的标题未正确对齐。 见下文:  DataGrid header misalignment

如何解决这个问题,以便列标题宽度与数据列宽度相匹配?

2 个答案:

答案 0 :(得分:0)

编辑:这只是部分答案。我还在遗漏一些东西。

使用以下方式提交数据后

dataGrid.setRowCount(list.size(), true);
dataGrid.setRowData(0, list);
dataGrid.setWidth(width);
dataGrid.setHeight(height);

您可以将.css文件中的样式应用到标题中,如下所示:

dataGrid.getHeader(0).setHeaderStyleNames("gwt-Name"); 
dataGrid.getHeader(1).setHeaderStyleNames("gwt-Email");

答案 1 :(得分:0)

我确实有同样的问题,我仍在尝试解决它。 据我所分析,表格的“自动”和“固定”模式存在一些问题。 标题位于表中,并且其中一个表处于固定模式(指定宽度),另一个表设置为“auto”。 文档中有一些提示:http://www.gwtproject.org/doc/latest/DevGuideUiCellTable.html#columnWidths

编辑: 你好...至少对我来说我发现了问题。 首先是问题本身:

  • 我在Pixel
  • 中使用了Width-values的固定模式表(GRID)
  • 行为:标题和列中相同的像素宽度具有不同的大小
  • 找不到为什么!!

我的解决方案:

  • 使用%值!!!
  • 基本上为标题和列设置CSS样式: header.setHeaderStyleNames( “myHeaderCSS”); column.setCellStyleNames( “myColumnCSS”);
  • 在CSS文件中:

.myHeaderCSS {
    text-align: left;
    width: 6% !important;
    padding: 0 0 0 0 !important;
}
.myColumnCSS {
    text-align: center;
    width: 6% !important;
    padding: 0 0 0 0 !important;
}

还有来自文档的评论:注意将列的所有%值相加到100%