r - 如何在 DT 的左侧有 Excel 中的行号?
问题描述
我想在左侧有一个始终显示的1, 2, 3, ...
行号(就像 excel 行号一样),以便用户在单击列以更改表的顺序后有一个参考行号来查看感兴趣的行的排名。
编辑:
library(DT)
n <- 20
set.seed(1)
df <- data.frame(customer_id = sample(10),
amount_2016 = round(runif(n) * 16),
amount_2017 = round(runif(n) * 17),
amount_2018 = round(runif(n) * 18),
amount_2019 = round(runif(n) * 19))
datatable(df)
点击后amount_2016
显示
它显示17, 14, 1, 2, 15, ...
并且我希望它保持1, 2, 3, ...
就像在 Excel 中一样
解决方案
诀窍是定义一个callback
JS()
实现动态行号计数器table.on
行为的函数。
这是一个最小的可重现 RMarkdown 示例:
---
title: "Untitled"
output: html_document
---
```{r}
library(DT)
datatable(
iris,
callback = JS("
table.on( 'order.dt search.dt', function () {
table.column(0, {search:'applied', order:'applied'}).nodes().each(
function (cell, i) {
cell.innerHTML = i+1;
} );
} )"))
```
生产
无论您如何对列进行排序,行号将始终保持为 1、2、3、...
推荐阅读
- javascript - 如何在django中访问数据表之外的数据表的ajax响应?
- assembly - Difference between (sp) and [sp] in assembly
- java - 多线程 Java HTTP 服务器
- c++ - 使用 sleep_for 和 sleep_until 函数的 gcc 可能存在的问题
- fullcalendar - 当 CustomView 具有 visibleRange 时,使用上一个/下一个在 FullCalendar 中导航
- haskell - 如何使用 Data.SBV 来帮助导出正确的堆栈机器实现?
- java - FireTV Android中的Spotify App-Remote集成
- php - 有没有方便的方法将基于 React 的插件放入 PHP 生成的站点?
- c# - 在 C# 中使用 Web.config 中的字符串时出现异常
- r - Purrr 和 Rlang - 具有准引用的映射函数