+1 vote
asked in UI & GUI-Builder by
Hallo Zusammen

ich suche nach einem Beispiel, wie sich bspw. eine Text-box, oder ein NumberText Feld in einem Grid je nach Inhalt formatieren kann.

Beispiel: positiver Wert schwarz, negativer Wert mit führendem Minus und rotter Schrift.

Miene Idee war,
a) ich nehme eine berechnete Zelle(Spalte) in das Grid mit auf.
    Das funktioniert so weit, aber beim Einfärben des Textes hänge ich.
b) ich baue mir ein CustumNumberField in der Palette
    Auch hier hänge ich beim Einfärben.
Jede Hilfe wäre willkommen!

Die Beispiel, die ich bei vaadin fand beziehen sich auf die html-Schicht.

Vorab vielen Dank!

3 Answers

0 votes
answered by

Nach meinem Wissen sind Rapidclipse 4 Grid-Tabellenfelder  nur über Properties , Entity , Properties - Einstellung möglich. Deshalb nehme ich an , das bei Rapidclipse X die gleiche Situation vorhanden ist

Farben und sonstige CSS Eigenschaften sind bei Grid-Tabellen wohl nicht möglich.

+1 vote
answered by
Bei Verwendung von RC 4 wird man hier fündig:
https://vaadin.com/docs/v7/framework/layout/layout-csslayout.html

Bei Verwendung von RC X wird man hier fündig:
https://vaadin.com/docs/v14/flow/theme/theming-crash-course.html
0 votes
answered by (560 points)

Im Rahmen einer Saldo-Liste habe ich eine rendered Col in ein Grid eingefügt.
Dabei wird der Text auf Basis des Wertes in rot oder grün ausgegeben.

Siehe folgender Code:

public class mySaldoCol extends HorizontalLayout  implements RenderedComponent<HibKonto>
{   
    private MyTable selSaldo;
    /**
     *
     */
    public mySaldoCol()
    {
        super();
        this.initUI();
    }  

@Override
    public void renderComponent(final MyTable value)
    {
        //this.numberField.setThemeName(null);
        this.selSaldo = value;
    }
   
    /**
     * Event handler delegate method for the {@link TextField} {@link #tfMySaldoColored}.
     *
     * @see ComponentEventListener#onComponentEvent(ComponentEvent)
     * @eventHandlerDelegate Do NOT delete, used by UI designer!
     */
    private void tfMySaldoColored_onAttach(final AttachEvent event)
    {
        if (this.selSaldo.getSaldo() != null)
        {
            final DecimalFormat df = new DecimalFormat("###,###.00 €");
           
            this.tfMySaldoColored.setValue(df.format(this.selSaldo.getSaldo()));

            if (this.selSaldo.getSaldo() < 0)
            {
                this.tfMySaldoColored.getElement().getStyle().set("color", "red");
            } else {
                this.tfMySaldoColored.getElement().getStyle().set("color", "green");
            }
        } else
        {
            this.tfMySaldoColored.setValue("0 €");
            this.tfMySaldoColored.getElement().getStyle().set("color", "black");
        }
    }

Welcome to Rapidclipse Q&A, where you can ask questions and receive answers from other members of the community.
Powered by Question2Answer
...