2017-06-27 3 views
0

Ich möchte eine Datentabelle mit DT, die Breite nicht ändert, wenn das Browserfenster ändert. Das folgende Beispiel macht fast das, was ich versuche, alle Spaltenbreiten sind gesperrt, mit Ausnahme der ersten Spalte, die immer noch flexibel ist. Ich möchte, dass alle Spalten gesperrt werden, ohne die Breite in Pixel für jede Spalte anzugeben.R DT Flexible Tabelle Breite

library(DT) 
library(dplyr) 

datatable(mtcars, 
      options = list(
       autowidth = TRUE 
      )) %>% 
    formatStyle(columns = 1:ncol(mtcars), 
     `width` = "100%") 
+0

Haben Sie diese in einer Website einbetten möchten? In diesem Fall könnten Sie die 'Datentabelle 'in einen' HTML'-Container mit fester Breite umbrechen, um das zu erreichen. –

+0

Ich möchte die Ausgabe in einer .RMD-Datei verwenden. Ich verwende bereits das Container-Argument, so dass diese Tabelle einen mehrstufigen Header aus einer anderen Tabelle erbt. Infolgedessen hoffe ich wirklich, eine Lösung zu finden, die das Behälterargument nicht einschließt. – Ben

Antwort

0

Die folgende Rmd Dokument gibt eine feste Breite von 100 Pixeln auf die Datentabelle

--- 
output: html_document 
--- 

```{r} 
shiny::div(
    width = "100px", 
    DT::datatable(mtcars)) 
``` 

Die Verwendung in glänzend ist ähnlich

shiny::shinyApp(
    ui = shiny::div(
    width = "100px", 
    DT::datatable(mtcars)), 
    server = function(...){} 
) 
+0

Ich glaube nicht, dass der erste Chunk funktioniert wie beschrieben, die Tabelle füllt immer noch die gesamte Breite der Seite und ändert sich nicht, wenn ich es auf 1px statt 100px setze. Außerdem möchte ich keine feste Anzahl von Pixeln angeben. Ich möchte, dass die Tabelle die Größe selbst bestimmt, aber nicht über die gesamte Seite expandiert. – Ben

Verwandte Themen