R glänzend DataTables ColVis Verhalten

8

Ich habe eine RStudio Shiny-Serverseite mit DataTables, und ich habe TableTools und ColReorder im folgenden Beispiel verwendet, aber ColVis ( Show/hide columns button) verhält sich nicht wie das Beispiel in Ссылка :

Wenn Sie auf die Schaltfläche Show/hide columns klicken, vermischt sich die Liste mit den Werten in der darunter liegenden Tabelle und ich kann die Liste nicht durch erneutes Klicken auf die Schaltfläche oder durch Klicken auf eine andere Stelle auf der Seite ausblenden (wiederum das Beispiel in den Datentabellen) Seite verhält sich korrekt).

Außerdem bin ich verwirrt über die Verwendung von sDom , um die verschiedenen Elemente in der Tabelle zu ordnen. Ich möchte, dass die Show/hide columns -Schaltfläche oben rechts anstatt links oben angezeigt wird. Ich bin mir auch nicht sicher, wie man die verschiedenen Elemente in sDom der Tabelle anordnet, so dass nach dem Ändern der Reihenfolge der Spalten das Speichern in CSV / Excel oder das Ausblenden einer Spalte mir das neue Tabellenlayout anstelle des ursprünglichen ergibt .

Irgendwelche Ideen?

ui.R

%Vor%

server.R

%Vor% #

Außerdem gibt es ein Problem mit der Spaltensortierung und Spaltenneuordnung: sortiert man dann Spalten neu und sortiert sie erneut, werden die Spaltenüberschriften umgedreht. Zum Beispiel, sortiere nach Spaltentiefe, dann spalte Spalte eins nach links, dann klicke erneut auf Header, um zu sortieren, jetzt haben wir Headertiefe mit Inhalten aus der falschen Spalte. Siehe Schnappschuss:

    
719016 08.07.2014, 10:50
quelle

1 Antwort

6

Einige Anmerkungen:

Die aktuelle data.table-Version ist nicht mit shiny atm kompatibel. Wir benötigen die 1.9.4 Version. Wir benötigen dann auch die pre 1.1.0 Version von colvis . Leider bezog sich dies auf eine alte Version von jQuery, die einen Aufruf von jQuery.browser aufruft. Der Verweis auf dieses jQuery.browser muss also entfernt werden, in den Zeilen 856 bis 859. Das sDom-Attribut ist auch etwas knifflig, es wird nicht in der neuen data.table angezeigt, die durch dom ersetzt wird. Die Dokumentation befindet sich unter Ссылка . Wir fügen den colVis-Inhalt zu einem class="cvclear" hinzu, indem wir diesen Ausschnitt <"cvclear"C> verwenden. Platzieren Sie es oben, indem Sie es am Anfang der sDom -Anweisung bestellen. Das funktioniert, aber wir müssen es richtig ausrichten. Normalerweise würde dies getan werden, indem align = "right" zur Klasse hinzugefügt wird, aber weil die Klasse durch den sDom Aufruf initiiert wird, müssen wir stattdessen die HTML5 CSS text-align:right verwenden. Wir fügen das mit tags$style hinzu.

Das obige sollte uns erlauben, colVis mit dem aktuellen shiny zu verwenden. Bei Upgrades auf data.table 1.10.0 sollten wir in der Lage sein, die aktuellen colVis -Plugin-Dateien zu verwenden, und die Korrekturen werden hoffentlich nicht notwendig sein.

Folgendes funktioniert für mich:

ui.R

%Vor%

server.R

%Vor%

Sie können die App unter:

anzeigen %Vor%

    
jdharrison 13.07.2014, 00:39
quelle

Tags und Links