【问题标题】:How to target specific columns with rowCallback jquery for DT::Datatable in R如何使用 rowCallback jquery 为 R 中的 DT::Datatable 定位特定列
【发布时间】:2019-08-02 18:03:48
【问题描述】:

我正在尝试修改我当前的 rowcallback 代码,使其针对例如第 1 列和第 4 列:最后一列。

当前行我有目标 col 3:end

 "for (i =  3; i < data.length; i++) {",

我试过这样写:

 "for (i = 1 | i =  3; i < data.length; i++) {",

但随后它停止工作。努力寻找正确的语法

我现在拥有的是这样的:

library(DT)
  Table_opts <- list(
    dom = 'Bfrtip',
    searching = F,
    pageLength = 50,
    searchHighlight = TRUE,
    colReorder = TRUE,
    fixedHeader = TRUE,
    buttons = c('csv', 'print'),
    paging    = TRUE,
    deferRender = TRUE,
    scrollX = T,
    scrollY = 310,
    rowCallback = JS(
      "function(row, data) {",
      "for (i =  3; i < data.length; i++) {",
      "if (data[i]>1 | data[i]<0){",
      "$('td:eq('+i+')', row).html(data[i].toExponential(1));",
      "}",
      "}",
      "}")
  )
DT::datatable(mtcars, rownames = F, selection = "single",
              extensions = c('Buttons', 'FixedHeader',  'ColReorder','Scroller'), options = Table_opts)

【问题讨论】:

    标签: jquery r dt


    【解决方案1】:

    要跳过i=2,您可以这样做:

    for (i = 1; i < data.length; i++) {
      if (i == 2) {
        continue;
      }
      ......
    }
    

    【讨论】:

    • 如果您只想专门针对第 2 列和第 3 列,语法是什么?
    • @Mark var columns = [2,3]; for(var i=0; i &lt; columns.length; ++i){ something with data[columns[i]];}
    猜你喜欢
    • 2015-10-02
    • 2020-12-02
    • 2020-12-15
    • 2019-12-06
    • 2020-06-09
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 2018-08-25
    相关资源
    最近更新 更多