- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用 DT 和 magrittr 包对数据表对象执行两种不同的格式化操作。一个使用辅助函数 formatRound(),另一个作为 JavaScript 传递给数据表函数中的 rowCallback 选项。
当我单独运行任一格式化操作时,数据表以预期的格式呈现。但是,当我同时运行两者时,数据表呈现空白,但我没有收到错误。
这段代码展示了我所描述的行为。
library(magrittr)
library(DT)
df = data.frame(matrix(rnorm(20), nrow=10))
datatable(
data = df
) %>%
formatRound(c("X1", "X2"), 1)
#table renders as expected
datatable(
data = df,
options = list(
rowCallback = JS("
function( row, data, index ) {
if ( index > 2 ) {
$(row).css('background-color', '#EDEDED');
}
else if ( index > 0 ) {
$(row).css('background-color', '#DEDEDE');
}
else {
$(row).css('background-color', '#D3D3D3');
}
}"
)
)
)
#table renders as expected
datatable(
data = df,
options = list(
rowCallback = JS("
function( row, data, index ) {
if ( index > 2 ) {
$(row).css('background-color', '#EDEDED');
}
else if ( index > 0 ) {
$(row).css('background-color', '#DEDEDE');
}
else {
$(row).css('background-color', '#D3D3D3');
}
}"
)
)
) %>%
formatRound(c("X1", "X2"), 1)
#table renders as blank but with no error returned
最佳答案
如果你在浏览器的 JS 控制台中查看你第三次尝试的 JS 函数(点击“浏览器中的检查元素选项”),它会显示一个错误,说 'var' is unidentified because it is outside the JS函数的范围:
(
var d = parseFloat(data[1]); $(this.api().cell(row, 1).node()).html(isNaN(d) ? '' : d.toFixed(1));
var d = parseFloat(data[2]); $(this.api().cell(row, 2).node()).html(isNaN(d) ? '' : d.toFixed(1));
function( row, data, index ) {
if ( index > 2 ) {
$(row).css('background-color', '#EDEDED');
}
else if ( index > 0 ) {
$(row).css('background-color', '#DEDEDE');
}
else {
$(row).css('background-color', '#D3D3D3');
}
})
如果将这两行代码放在 JS 函数中,它会完美运行。
您可以在下面找到更新后的代码。
datatable(
data = df,
options = list(
rowCallback = JS("
function( row, data, index ) {
var d = parseFloat(data[1]);
$(this.api().cell(row, 1).node()).html(isNaN(d) ? '' : d.toFixed(1));
var d = parseFloat(data[2]);
$(this.api().cell(row, 2).node()).html(isNaN(d) ? '' : d.toFixed(1));
if ( index > 2 ) {
$(row).css('background-color', '#EDEDED');
}
else if ( index > 0 ) {
$(row).css('background-color', '#DEDEDE');
}
else {
$(row).css('background-color', '#D3D3D3');
}
}"
)
)
)
关于javascript - 带 DT 的 R 数据表 rowCallback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31392844/
我正在使用数据表,并且当前如果语句满足要求,则将行更改为另一种颜色,已经尝试了很多方法,但它有非常奇怪的错误,我的代码是: "rowCallback": function( row, data, in
在我的 DT 中,我尝试为每个单元格创建条件格式,其中格式基于每行的不同规则。目标是在第 1 列和第 2 列之间创建简单的视觉比较 例如 如果 [1,1] < [1,2] 突出显示 [1,1] 绿色和
我按照 Jquery Datatable 站点的文档以及 SO 帖子使用 rowCallback 来突出显示基于值的行。 let SET1 = $("#SET1").DataTable({ "
谁能帮我解决 rowCallback 问题。问题是,我有一个表,您可以单击表行上的任意位置以获取已单击项目的打开信息。在第一个 TD 上,我设置了复选框。但是当我选中复选框时,我不想打开信息。这是更好
我正在使用 DataTables.net 在我的网站中插入一个表格。我还添加了一个函数来添加/删除该表中的列。为了适应容器大小,我根据列号更改了表中的字体大小。我找到了一个解决方案如何用这个 answ
我正在尝试使用 DT 和 magrittr 包对数据表对象执行两种不同的格式化操作。一个使用辅助函数 formatRound(),另一个作为 JavaScript 传递给数据表函数中的 rowCall
我目前有一个数据表(ver 1.10.18),其中加载了多个 js 选项,但我需要使我的代码更具可重用性,并且我正在尝试使用 html5 data-* 属性初始化我的数据表。
我有一个带有嵌套数据的 angular 数据表,我正在尝试在行点击函数上创建另一个数据表。父数据表的 rowCallBack 函数。 这是我的外部数据表 html; 这是我生成数据表的方
我是一名优秀的程序员,十分优秀!