2016-03-19 2 views
0

Ich versuche, einen Zeilenstil für On Mouse Hover zu aktualisieren.GWT CellTable Zeilenstil programmgesteuert aktualisieren

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"); 
     } 
}); 

ich in der Lage bin Vorspiel Reihe Inhalt erfolgreich mit bekommen:

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

Jede Idee, warum

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

hat keine Wirkung?

Dank

Antwort

1

Datagrid hat in seinem Standard DataGrid.ResourcesdataGridHoveredRow Stil definiert. Eine Möglichkeit besteht darin, diesen Stil in Ihrem eigenen ClientBundle zu überschreiben.

Ansonsten versuchen

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

EDIT:

Sie müssen "border-collapse: collapse" setzen auf Ihrem Datagrid.

Von der CSS2-Spezifikation:

In [dem border-collapse: separates Modell] hat jede Zelle eine individuelle Grenze. [...] Zeilen, Spalten, Zeilengruppen und Spaltengruppen dürfen keine Rahmen haben (d. H. Benutzeragenten müssen die Rahmeneigenschaften für diese Elemente ignorieren).

+0

Nein Ihre Empfehlung hat nicht funktioniert. Danke für die Antwort. Ich versuchte auch .getStyle(). SetBorderStyle (BorderStyle.SOLID); zusätzlich zu dem, was ich habe, aber es hat nicht funktioniert. – EMM

+0

Können Sie auch den Link bereitstellen, wenn es praktisch ist. Eigentlich möchte ich sehen, was alle Eigenschaften unterstützt (nicht). Ich möchte Box-Schatten hinzufügen, wenn Rand nicht unterstützt wird. – EMM

+0

"CSS2-Spezifikation", erstes Ergebnis bei Google. Für Tabellengrenzen: https://www.w3.org/TR/CSS2/tables.html#borders –