I want to embed a datatable using DT::datatable() in one tab and a graph on another table.
This looks great when we only see ~10 rows but when selecting more sometimes the table runs off the screen.
Below is a reproducible example. In this case select 50 or 100 rows and you'll see the UI runs off the screen unless you happen to be running this on a super long computer.
I'd like to extend the behavior of the scroll-able main page when not in a tabset to this to not have to worry about how long the resulting table with the data would be.
I see a few additional options.
- Only allow the user to see 10 or so rows at a time and hope this error doesn't happen when the app is live.
- Instead of using tabset use the main page since the vertical_layout: scroll options works well when not embedded in a tabset.
---
title: "Too Long Table Example"
output:
flexdashboard::flex_dashboard:
orientation: rows
vertical_layout: scroll
runtime: shiny
---
Inputs {.sidebar}
-------------------------------------
```{r}
# UI HERE
``
<!-- < This one works fine -->
<!-- Row { data-height=1200} -->
<!-- ----------------------------------------------------------------------- -->
<!-- This one restricts the tabset size and the UI element -->
<!-- falls off the page at showing 50+ rows numbers. -->
Row {.tabset data-height=1200}
-----------------------------------------------------------------------
### Table
A Table used to make selections and data edits, not implemented in this example.
```{r}
library(ggplot2)
library(DT)
library(flexdashboard)
library(shiny)
df <- head(diamonds, 200)
fillPage(
DT::datatable(df )
)
``
### Graph
Some Graphic using DT on another Tab.
Not important to this example.
```{r}
plot(df$carat, df$cut)
``