r - 可过滤的列标题在 R 中的 DT 中未对齐
问题描述
我正在开发一个闪亮的应用程序,我正在使用DT
包在表格中显示一些数据。下面是一些测试数据:
structure(list(UID = c("837_12612", "838_12613", "839_12616",
"840_12668", "841_12702", "842_12825"), VoyageNo = c(9L, 9L,
8L, 5L, 10L, 10L), EmploymentStatus = c("Unfixed", "Unfixed",
"Unfixed", "Unfixed", "Unfixed", "Unfixed"), OpenPort = c("ROTTERDAM",
"DAR ES SALAAM", "LAGOS (NIGERIA)", "HALDIA", "JEBEL ALI", "SANTOS"
), OpenPortDate = c("2001-01-01", "2001-01-01", "2001-01-01",
"2001-01-01", "2001-01-01", "2001-01-01"), Cargo = c("CONDENSATE/GAS OIL/GAS OIL (FAME FREE)/JET A1",
"GAS OIL/NAPHTHA/NAPHTHA/GASOLINE/ULSD 10 PPM", "JET A1/GAS OIL/CONDENSATE/CPP",
"NAPHTHA/GASOLINE/JET A1/GAS OIL/GASOLINE", "JET A1/ULSD 10 PPM/GASOLINE/REFO/GASOLINE",
"CPP/JET A1/NAPHTHA/GASOLINE/ULSD 10 PPM"), RepositionPort = c("Portname",
"Portname", "Portname", "Portname", "Portname", "Portname"),
RepositionDate = c("2018-08-23", "2018-08-23", "2018-08-23",
"2018-08-23", "2018-08-23", "2018-08-23"), CurrentStatus = c("Prompt",
"Prompt", "Prompt", "Prompt", "Prompt", "Prompt"), Comments = c("Enter comments",
"Enter comments", "Enter comments", "Enter comments", "Enter comments",
"Enter comments"), Flag = c("No", "No", "No", "No", "No",
"No"), VesselName = c("STI Excellence", "STI Excelsior",
"STI Experience", "King Douglas", "STI Prestige", "STI Express"
), DWT = c(74613, 74665, 74665, 73666, 74996.5, 74665), Type = c("LR1 POOL",
"LR1 POOL", "LR1 POOL", "LR1 POOL", "LR1 POOL", "LR1 POOL"
), IceClass = c("N/A", "N/A", "N/A", "N", "N/A", "N/A"),
CompleteGMT = structure(c(17754, 17717, 17741, 17672, 17748,
17723), class = "Date")), row.names = c(NA, -6L), class = c("tbl_df",
"tbl", "data.frame"))
然后,我将其渲染为具有以下参数的 DT:
datatable(x,editable=TRUE, rownames=FALSE, selection='none', options=list(scrollX=TRUE), filter='top')
当表格正确呈现时,只要我点击其中一个列过滤器,比如 DWT,对齐就会消失。见图片:
我该如何阻止这种情况发生?
解决方案
正如您在此处scrollX
看到的那样,您看到的是一个已知问题
列过滤器的已知问题
当在表格中启用滚动时,列过滤器的位置可能会关闭,例如通过选项scrollX 和/或scrollY。外观可能会受到闪亮滑块的影响,如 #49 中所述。
请记住,如果您在RSudio -> ViewerscrollX
中的表格中使用过滤器,则删除不会解决问题,但您可以在浏览器中正常使用过滤器。
#Works in a browser.
datatable(x,editable=TRUE, rownames=FALSE, selection='none', filter='top')
推荐阅读
- python - ImportError:DLL 加载失败:%1 不是有效的 Win32 应用程序。visual studio 错误
- sql - SQL Server 全文搜索索引更新需要一段时间
- angularjs - 无法在html上打印计数的数字
- java - 如何在 xmlgregoriancalendar 中打印日期 9999-99-99?
- flutter - 当流产生一定的价值时,在流之外创造未来
- javascript - 这个 reduce 函数的类型应该是什么
- javascript - 表行中的增量值
- wpf - 保持多个 devexpress 网格的列大小同步
- mysql - 启动 MariaDB 数据库服务器:mysqld ........失败
- python - 如何让 AWS Lambda 上的 NaCL 正常工作?