2016-03-21 8 views
0

Ich versuche, eine benutzerdefinierte Polymer 1 Komponente mit einem bwu_datagrid darin zu erstellen. Diese Komponente kann bei Bedarf angepasst werden, ich habe die Beispiele "e11_autoheight" und "e12_fillbrowser" gesehen, aber ich möchte mich nicht auf "100vh" verlassen und das Eltern-Div nicht zwingen, alle Zeilen zu zeigen.bwu_datagrid Polymer 1: Höhe 100% in einem div

Gibt es eine Möglichkeit, das Datagrid zu erweitern, wenn ein Elternteil die Größe ändert, aber weiterhin die Bildlaufleiste beibehalten, wenn das Elternteil kleiner als die Anzahl der Zeilen ist?

Jede Anleitung wird sehr geschätzt.

+0

Außerdem dachte ich darüber nach, ein bwu_datagrid mit "autoHeight: true" in ein Größenänderungs-Div einzufügen. Dies erreicht beinahe, was ich will, aber dann scrollt die rechte Bildlaufleiste alles, Spaltenüberschriften und Zeilen .... Ich denke, ich suche nach einer "autoHeight: true", die die Bildlauffähigkeiten nicht aus dem Bildfenster entfernt und es ist in der Lage, den Darstellungsbereich entsprechend zu verändern ... wenn das mit der aktuellen Version nicht möglich ist, muss ich mir etwas anderes einfallen lassen, aber ich hoffe, das SO massiv helfen könnte :) –

+0

Ich muss es selbst nachschauen (noch nicht auf meinem Computer). Soweit ich mich erinnere, müssen Sie eine Methode ('resize'?) Auf dem BwuDatagrid aufrufen, wenn sich die Größe des Containers ändert. Ich werde später nachsehen. –

Antwort

2

Ich benutze zum Beispiel

dom.window.onResize.listen((dom.Event e) => grid.resizeCanvas(e)); 

Siehe https://github.com/bwu-dart/bwu_datagrid/blob/44215176ca3443d76b1a0573a25186e97ca7f207/example_/lib/e12_fillbrowser/app_element.dart#L86

Es könnte auch andere Gründe für den Behälter als eine Größe geänderte Fenstergröße zu ändern, aber es gibt keine Möglichkeit, Ereignisse aus den Elementen zu bekommen die Größe (mindestens nicht von allen Browsern).

In diesem Fall müssen Sie andere Mittel finden, um diesen Code aufzurufen. Zum Beispiel, wenn Sie eine Splitter-Komponente haben, würden Sie einige Drag-Ereignisse oder ähnliches bekommen.

+0

Ahh, ja, das hat sich darum gekümmert ... aber es wirft einige Bedenken auf, was mit mehreren Gittern auf der gleichen Ansicht passiert ... alle werden "resizeCanvas" rufen ... Ich muss das testen für die Leistung. Ich bin ziemlich nah dran mit diesem css override, aber ich bin kein großer Fan von "! Wichtig" und mein Team befürchtet alles mit "calc" ... : host :: content #viewport { height: calc (100% - 26px)! Wichtig; } –