Wie änderst du die Maus über die Hervorhebung?

7

In GWT verwende ich CellTable.

Wenn Sie die Maus über die CellTable bewegen, wird jede Zeile hervorgehoben.

Wie ändert sich das Verhalten der Hervorhebung von der Maus über? Insbesondere:

  • Ändern Sie die Hervorhebungsfarbe
  • deaktivieren / aktivieren
  • Markieren Sie nur das spezifische Rasterelement an Ihrem Cursor (anstelle der gesamten Zeile)

(Der aktuelle Hack, den ich habe, besteht darin, eine Reihe von 1 spaltenbreiten CellTables zu erstellen und sie zu einem VerticalPanel-Layout hinzuzufügen ... die Illusion zu erzeugen, dass es eine CellTable gibt und jedes Raster entsprechend Ihrem Cursor hervorhebt. Ist das schlecht? Warum? Leistung?)

    
Trevor Boyd Smith 13.05.2011, 15:06
quelle

3 Antworten

17

Sie werden feststellen, dass die CellTable ein ResourceBundle verwendet, was bedeutet, dass alle CSS-Stile verschleiert werden ... das macht es schwieriger, Styles zu überschreiben.

Mit dem CellTable-Konstruktor können Sie das standardmäßige ResourceBundle überschreiben. Also müssen Sie zuerst Ihr eigenes Ressourcenbündel wie folgt erstellen:

%Vor%

Dann müssen Sie Ihre eigene CSS-Datei erstellen. Ich empfehle, den CellTable-Stil direkt in Ihr Projekt zu kopieren und diesen als Ausgangspunkt zu verwenden. Sie können es hier finden: Ссылка

Stellen Sie sicher, dass der Stil zuerst eingefügt wird, und dann füttern Sie ihn einfach in den Konstruktor der CellTable wie folgt:

%Vor%

Insbesondere sollten Sie diese Stile optimieren:

  • cellTableKeyboardSelectedRow
  • cellTableKeyboardSelectedRowCell
  • cellTableSelectedRow
  • cellTableSelectedRowCell
  • cellTableKeyboardSelectedCell

Es ist wichtig zu beachten, dass die Zellentabelle zwischen der "ausgewählten Zeile" und der "ausgewählten Tastaturzeile" unterscheidet. Die ausgewählte Zeile ist die tatsächlich ausgewählte Zeile (z. B. über SelectionModel). Die ausgewählte Zeile der Tastatur bezieht sich auf das, was hervorgehoben wird, wenn der Benutzer die Auf- / Ab-Taste drückt, bedeutet aber nicht, dass die Zeile tatsächlich ausgewählt ist (wenn das sinnvoll ist).

    
Brad Rydzewski 15.05.2011, 20:19
quelle
4

Ich füge nur für Nummer 2) auf Ihrer Liste, Sie können einfach

tun %Vor%

Damit wird die Hervorhebung vollständig deaktiviert. Es gibt auch zwei weitere setSkip -Funktionen in CellList, die mit dem Schweben zusammenhängen.

    
joscarsson 26.11.2012 13:51
quelle
1
  1. CellTable kann über CSS formatiert werden: Wie style ich einen gwt 2.1 CellTables Header?

  2. Um die Hervorhebung zu deaktivieren, setzen Sie einfach die Eigenschaft hover CSS auf nichts.

  3. Möglicherweise - versuchen Sie, die .cellTableSelectedRow und .cellTableSelectedRowCell zu optimieren.

Hier ist die ursprüngliche CellTable.css: Ссылка

    
Peter Knego 13.05.2011 16:08
quelle

Tags und Links