ZellTabellen und css (GWT)

8

Könnte mir jemand helfen, den Hintergrund einer CellTable-Zeile festzulegen? bitte, ich habe die ganze Nacht versucht, es zu tun und immer wieder versagt und es ist macht mich verrückt. Ich habe versucht, einen Aufruf von setRowStyles() , aber das zu verwenden scheint nicht zu funktionieren und ich habe gelesen, dass du das nicht ändern kannst Stil für eine CellTable, sobald ein Stil festgelegt wurde - als Standard ist eingestellt. Dann habe ich versucht, eine CellTable mit meiner eigenen Schnittstelle zu konstruieren CellTableResources wie auf einem Beitrag zu diesem Thema, aber das gesehen gab mir Fehlermeldungen über unverschleierte ccs Elemente .... welche meine css nicht verschleiert ist eine offensichtliche Fehlermeldung. Jetzt weiß ich nicht, was ich versuchen soll und ich bin offiziell STUCK.

Ich habe darüber gelesen @external und es schien nicht zu helfen ... nicht einmal sicher, wo das externe Bit gehen soll ... Ich denke in der CSS aber wie immer mit wenn ich feststecke ' Ich versuche alles!

TonyK

    
Tony Kennah 10.09.2011, 03:07
quelle

1 Antwort

13

Ich weiß, wie frustrierend das sein kann, ich war am selben Ort. Ich habe alle Schritte mit einbezogen, die ich verwendet habe, um das zu erreichen. Aber es klingt, als ob du fast da bist, also wirst du wahrscheinlich nicht alle davon brauchen.

Wie Sie bereits erwähnt haben, um Ihre eigenen CSS-Klassennamen zu verwenden, müssen Sie com.google.gwt.user.cellview.client.CellTable.Resources implementieren und eine Instanz Ihrer Klasse an den CellTable-Konstruktor übergeben.

CellTable-Deklaration

%Vor%

Die Implementierung von Ressourcen erfordert auch eine Instanz von com.google.gwt.resources.client.ImageResource und com.google.gwt.user.cellview.client.CellTable.Style , die Klasse, die Ihre css-Klassennamen bereitstellt. Um die Dinge hier einfach zu machen, sind Stub-Implementierungen von Resources, ImageResource und Style, die nur Strings als Style-Namen bereitstellen. Am Ende können diese von ClientBundle kommen, aber das ist keine Voraussetzung.

Stil-Stub (mit String-Literalen)

%Vor%

ImageResource-Stub

%Vor%

Ressourcen-Stub

%Vor%

An diesem Punkt sollten Sie eine Zelle Tabula Rasa ohne Stil haben und Sie sollten in der Lage sein, Ihr CellTable-Element im Browser zu inspizieren und myCssClassName als allgegenwärtigen CSS-Klassennamen zu sehen, unauffällig.

Wenn Sie zu diesem Zeitpunkt eine Verknüpfung zu einem Stylesheet mit einer der herkömmlichen Methoden herstellen, sollten Sie die "myCssClassName" -Strings so einstellen können, dass sie mit Ihrem spezifischen Stylesheet übereinstimmen.

Style Sheet-Link

%Vor%

Wenn Sie nun Ihre Styles mit ClientBundle einfügen möchten, haben Sie ein paar zusätzliche Schritte.

Stellen Sie zunächst sicher, dass Sie Ihr Stylesheet zu einem bestimmten Zeitpunkt einfügen. Das ist wirklich leicht zu vergessen. Ein einfacher Platz ist im EntryPoint Ihres Moduls, so dass Sie sicher sein können, dass er aufgerufen wird.

CssResource-Injektion

%Vor%

Verwenden Sie abschließend Ihre CssResource, um der Style-Implementierung von früher die Namen zu geben. Unabhängig davon, ob die CSS-Klassennamen verschleiert werden oder nicht, sollten sie injiziert werden und den richtigen Namen auf diese Weise verwenden.

ClientBundle-Stub

%Vor%

CssResource-Stub

%Vor%

Style-Sheet-Stub

%Vor%

Style Stub (mit ClientBundle)

%Vor%

Das sollte es sein. Ich bin sicher, es gibt andere Möglichkeiten, das Gleiche zu tun, aber das hat für mich bisher gut funktioniert. Viel Glück und ich hoffe das spart dir etwas Zeit.

    
Kelly Christoffersen 10.09.2011, 04:48
quelle

Tags und Links