Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Shining renderDataTable |如何限制显示的文本大小_Javascript_R_Shiny - Fatal编程技术网

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))