Javascript Shining renderDataTable |如何限制显示的文本大小
在屏幕中显示数据表时Javascript Shining renderDataTable |如何限制显示的文本大小,javascript,r,shiny,Javascript,R,Shiny,在屏幕中显示数据表时 output$tab1 <- renderDataTable({ expr = tbl }, options = list(orderClasses = TRUE, lengthMenu = c(3, 5, 10), pageLength = 3) output$tab1不确定您是否仍在寻找答案。但是,使用下面的示例很容易包含工具提示。 你可以在这个链接中找到这个例子和更多 datatable
output$tab1 <- renderDataTable({
expr = tbl
}, options = list(orderClasses = TRUE,
lengthMenu = c(3, 5, 10),
pageLength = 3)
output$tab1不确定您是否仍在寻找答案。但是,使用下面的示例很容易包含工具提示。
你可以在这个链接中找到这个例子和更多
datatable(iris[c(1:20,51:60,101:120),],options=list(columnDefs=list(list(
目标=5,
render=JS(
“函数(数据、类型、行、元){”,
“返回类型==‘显示’&&data.length>6?”,
“''+数据.substr(0,6)+'…':数据;”,
"}")
))),callback=JS('table.page(3).draw(false);'))
另一种选择是对列进行变异,以缩短任何超过30个字符的字符串
library(dplyr)
library(stringr)
tbl <- tbl %>% mutate(column_name = as.character(column_name)) %>%
rowwise() %>%
mutate(column_name = case_when(nchar(column_name) > 30 ~
paste(str_sub(column_name, 1, 30), "..."),
nchar(column_name) <= 30 ~ column_name))
库(dplyr)
图书馆(stringr)
tbl%变异(列名称=as.character(列名称))%>%
行()
当(nchar(列名称)>30时,改变(列名称=case)~
粘贴(str_sub(column_name,1,30),“…”),
nchar(列名称)也许您可以使用nchar测试超过30个字符限制的列的字符长度?这里的targets=5
是什么意思?如何使用它?targets
参数用于指定要应用函数的列。在上述情况下,我们限制列中显示的文本大小5,并呈现一个工具提示。明白了。只是一个混淆。列只是那些包含文本或字符串的列,或者是所有的列?假设在反应数据集中,最后一列是要执行文本截断的列,那么怎么做呢?如果你有一个包含5列的df
,并且你喜欢应用tooltip(如上例所示)位于第2、3和5列。您可以设置targets=c(2、3、5)
。如果只需要最后一列(这里是第5列),则只需targets=5
library(dplyr)
library(stringr)
tbl <- tbl %>% mutate(column_name = as.character(column_name)) %>%
rowwise() %>%
mutate(column_name = case_when(nchar(column_name) > 30 ~
paste(str_sub(column_name, 1, 30), "..."),
nchar(column_name) <= 30 ~ column_name))