r - 您如何制作搜索栏来查询闪亮仪表板中的格式化表
问题描述
我无法看到如何使用 esquisse 包来支持此处的搜索栏功能。我希望能够通过名称进行过滤。例如,如果有人要搜索 setosa,它将返回一个格式化的子集表。我正在查看 esquisse 包,但我不确定如何将它集成到 Shiny Dashboard 中。看来我需要更改服务器中的输出。
library(tidyverse)
library(janitor)
library(shinydashboard)
library(shiny)
library(formattable)
library(golem)
library(esquisse)
#Loading Dummy Data
data(iris)
summary(iris)
df <- iris
formattable(df)
ui <- dashboardPage(
dashboardHeader(title = "Title"),
dashboardSidebar(sidebarSearchForm(label = "Name", "searchText", "searchButton")),
dashboardBody(formattableOutput("table"))
)
server <- function(input, output) {
output$table <- renderFormattable({ formattable(df, align = c("l",rep("r", ncol(df))), list(
`Indicator Name` = formatter("span", style = ~ style(color = "grey",font.weight = "bold")),
area(col = 2:length(df)) ~ color_tile("#DeF7E9", "#71CA97")))})
}
shinyApp(ui = ui, server = server)
解决方案
你可以使用as.datatable
如下图:
as.datatable(
formattable(blah blah blah)
)
此外,如果您想使用数据表选项和过滤器等,请使用它们,如下所示:
as.datatable(
formattable(blah blah blah)
,filter = 'top', rownames = FALSE)
例如,请参见下文:查看放置datatable
编辑功能的位置以及放置formattable
编辑功能的位置:
as.datatable(
formattable(mydata,
align = c("l",rep("r", NCOL(mydata) - 1)),
list(`column_1` = formatter("span", style = ~ style(color = "grey", font.weight = "bold")),
`column_2` = formatter("span", style = ~ style(color = "blue")),
`column_3` = formatter("span", style = ~ style(color = "black")),
`column_4` = formatter("span", style = ~ style(color = "red", font.weight =
"bold"))
))
,filter = 'top', rownames = FALSE)
推荐阅读
- python - 如何使用找到值的列标题创建第三列?
- mysql - 为什么这个查询不解析?
- google-cloud-nl - 谷歌云 PHP 自然语言在句子中查找日期
- linux - 如何安装 Jenkins Ubuntu slave 作为服务?
- google-cloud-platform - Terraform 是否能够管理角色/所有者绑定和成员资格?
- java - iOS 和 Android AES 加密(Java 中没有 UINT)
- c++ - C++/CLI 前向声明 - 相互依赖的类
- c# - 我可以获得电子窗口的 MainWindowHandle 吗?
- c++ - 使用全局 QObject 进行交叉信号/插槽转发是正确的方法
- xcode - 为 Interface Builder 添加自定义对齐线到 UIView