以编程方式更新 GWT CellTable 行样式

Updating GWT CellTable row style programatically

我正在尝试更新鼠标悬停时的行样式。

mappings.addCellPreviewHandler(new Handler<MappingInstructionVO>() {

      @Override 
      public void onCellPreview(CellPreviewEvent<MappingInstructionVO> event) { 
        if (BrowserEvents.MOUSEOVER.equals(event.getNativeEvent().getType())) { 
           mappings.getRowElement(event.getValue().getExecutionOrder()).getStyle().setBorderColor("Red"); 
      } 
});

我无法使用以下方法成功获取行内容:

mappings.getRowElement(event.getValue().getExecutionOrder() - 1).getInnerText());

知道为什么

mappings.getRowElement(event.getValue().getExecutionOrder()).getStyle().setBorderColor("Red");

没有效果?

谢谢

DataGrid 在其默认 DataGrid.Resources 中定义了 dataGridHoveredRow 样式。一种选择是在您自己的 ClientBundle 中覆盖此样式。

否则,尝试

.getStyle().setProperty("border", "1px solid red");

编辑:

您必须在 DataGrid 上设置 "border-collapse: collapse"。

来自CSS2规范:

In [the border-collapse: separate model], each cell has an individual border. [...] Rows, columns, row groups, and column groups cannot have borders (i.e., user agents must ignore the border properties for those elements).