Vaadin Tabelle zeigt Scrollbalken

Ich habe eine Tabelle Komponenten, die sich in einigen Lay-Outs und ich will nicht, es zu zeigen keine scrollbars.

Die Tabelle zeigt immer nur 25 Zeilen und die Breite sollte immer 720px. Aber die Tabelle zeigt sowohl die vertikale und horizontale Scrollbalken und ich kann nicht herausfinden, wie. Das lustige an der Sache ist(ich bin zwar eher Weinen jetzt), dass manchmal die scrollbars verschwinden. Wenn ich halten Sie die Seite aktualisieren, manchmal verschwinden Sie auch wieder und alles ist ok.

Hier sind paar infos die ich gesammelt habe nach stundenlangem debugging:

  1. Manchmal werden die Symbole/Bilder/etc.. nicht geladen und angezeigt werden, von Bargeld, manchmal sind Sie das. Und wissen Sie was, das ist auch wechseln die scrollbars ein-und ausschalten, obwohl die Bilder werden immer noch angezeigt.
  2. Die Breite jeder Spalte wird manchmal paar Pixel mehr - und das ist, warum Sie die horizontale Bildlaufleiste zeigt, und ich denke, das ist auch der Grund, warum Sie die vertikale Bildlaufleiste angezeigt wird (weil die horizontale dauert einige Pixel von der Höhe der Tabelle)
  3. Ich habe versucht zu rufen, requestRepaint nach dem Befüllen der Tabelle, auch requestRepaintAll auf der übergeordneten Komponente, und Ihre Muttergesellschaft und Ihre Eltern, etc...
  4. Ich habe versucht Einstellung der Breite jeder Spalte in Prozent.
    100000.) Ich glaube, ich habe versucht, alle anderen Dinge, die zwischen 4 und 100000.

Ich muss etwas fehlen. Eine Menge Leute haben dieses problem, und ich habe eine Menge threads direkt auf der vaadin-Seite, aber es gibt keine DAS-DEFINITIV-WERK-Lösung.

EDIT-CODE:

Table t = new Table();
t.setWidth("720px");
t.setImmediate(true);
t.setSelectable(true);

//Headers
t.addContainerProperty("fullName", String.class,  null, "Meno", null, null);
t.setColumnExpandRatio("fullName", 22);

t.addContainerProperty("dateOfBirth", Date.class,  null, "Narodenie", null, null);
t.setColumnExpandRatio("dateOfBirth", 18);

t.addContainerProperty("lastYearCosts", BigDecimal.class,  null, "Náklady", null, null);
t.setColumnExpandRatio("lastYearCosts", 10);

t.addContainerProperty("lastYearBalance", BigDecimal.class,  null, "Saldo", null, null);
t.setColumnExpandRatio("lastYearBalance", 10);

t.addContainerProperty("activeClient", ComparableBooleanEmbeddedIcon.class,  null, "", new ThemeResource("icons/icon-app-header-medipartner.png"), Table.ALIGN_CENTER);
t.setColumnExpandRatio("lastYearBalance", 8);

t.addContainerProperty("dmsCount", String.class,  null, "", new ThemeResource("icons/icon-app-header-heart.png"), null);
t.setColumnExpandRatio("dmsCount", 8);

t.addContainerProperty("authCount", String.class,  null, "", new ThemeResource("icons/icon-app-header-warnings.png"), null);
t.setColumnExpandRatio("authCount", 8);

t.addContainerProperty("book", CssLayout.class,  null, "Objednať", null, Table.ALIGN_CENTER);
t.setColumnExpandRatio("book", 16);

Bin ich dann nur ausfüllen von Zeilen mit der Methode addItem(Object[] Elements).

  • einige code , einen screenshot oder live-demo helfen würde.
  • Ich habe das code-Beispiel
  • Ich finde es auch enttäuschend, dass manchmal scrollers erscheinen für einige Steuerelemente in Vaadin. Versuchen Sie, fangen die problematische <div> mit Firebug und teilen Sie Ihre Erkenntnisse.
  • Gut, das ist das problem. Alle layout Elemente haben die richtige Breite. Auch das table-element (ich meine den <div> wrapper) hat die gewünschte Breite. Aber die <table> - element im inneren hat eine Breite von 731px manchmal. Das ist, warum scrollen erscheint.
  • Sie haben einen benutzerdefinierten Designs in Ihre Anwendung. Oft, wenn Sie extra bekommen, scrollbars Sie theming etwas in einer Weise, die nicht unterstützt wird. Versuchen Sie, die Ende der Anwendungs-url ?Thema=Rentier und sehen, ob Sie immer noch Bildlaufleisten.
  • Ich habe probiert, die Tabelle zeigte nicht die Scrollbalken. Aber, wie ich schrieb, die unter mein Thema, manchmal Bildlaufleisten sind da und manchmal nicht. Wirklich seltsam.
  • Dann müsste man zum entfernen der Teile von Ihrem Thema, bis Sie die Zeile, die bewirkt, dass das Verhalten. Es ist in der Regel die Ränder, Auffüllungen oder Grenzen.

Schreibe einen Kommentar