使用 DOM 选项定位 DataTables 元素

2023-12-12

我无法正确定位l长度变化和f分别过滤我的右上角和左下角的输入DT::datatable输出在shiny使用dom选项。代码:

library(shiny)
library(DT)

set.seed(2282018)
company <- data.frame(Company = letters[1:10], Sales = scales::dollar(runif(10, 200, 1230)), stringsAsFactors = F)

# UI ---- 
ui <- function(){

  fluidPage(

    sidebarLayout(

      sidebarPanel(numericInput("nums", label = "Num Input", value = 1, min = 1, max = 10)),

      mainPanel(dataTableOutput("mytable"))

      )

  )

}

# server ----
server <- function(input, output, session){

  output$mytable <- renderDataTable({
    datatable(company, 
              caption = tags$caption("StackOverflow Example"), 
              filter = "none", 
              options = list(
                autoWidth = T, 
                pageLength = 10, 
                scrollCollapse = T, 
                dom = '<"right"l>t<"left"f>')
              )

  })

}

runApp(list(ui = ui, server = server))

如前所述,我的目标是移动l到右上角和f到左下角。

Thanks!


Process

In the DataTable DOM 定位参考,有将元素移动到顶部/底部的示例,但没有移动到左/右的示例。我不确定是否可以仅使用dom option.

然而,据此关于移动搜索框的问题,您可以分三步向左/向右移动元素:

  1. 制作 CSS 类

    css <- HTML(".pull-left{float: left !important;} .pull-right{float: right !important;}")

  2. 使用 javascript/jQuery 将类添加到数据表中

    js <- HTML("$(function(){ setTimeout(function(){ $('.dataTables_filter').addClass('pull-left'); $('.dataTables_length').addClass('pull-right'); }, 200); });")

  3. 将 CSS 和 JS 添加到闪亮应用程序的 HTML 标头

    fluidPage( tags$head(tags$style(css), tags$script(js)), ...)


完整示例

library(shiny)
library(DT)

set.seed(2282018)
company <- data.frame(Company = letters[1:10], Sales = scales::dollar(runif(10, 200, 1230)), stringsAsFactors = F)

css <- HTML(".pull-left{float: left !important;}
            .pull-right{float: right !important;}")

js <- HTML("$(function(){
        setTimeout(function(){
           $('.dataTables_filter').addClass('pull-left');
           $('.dataTables_length').addClass('pull-right');
           }, 200);
           });")

# UI ---- 
ui <- function(){

        fluidPage(
                tags$head(tags$style(css),
                          tags$script(js)),

                sidebarLayout(

                        sidebarPanel(numericInput("nums", label = "Num Input", value = 1, min = 1, max = 10)),

                        mainPanel(dataTableOutput("mytable"))
                )       
        )
}

# server ----
server <- function(input, output, session){

        output$mytable <- renderDataTable({
                datatable(company, 
                          caption = tags$caption("StackOverflow Example"), 
                          filter = "none", 
                          options = list(
                                  autoWidth = T, 
                                  pageLength = 10, 
                                  scrollCollapse = T, 
                                  dom = '<"top"l>t<"bottom"f>')
                )
        })
}
runApp(list(ui = ui, server = server))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 DOM 选项定位 DataTables 元素 的相关文章

随机推荐

  • Seaborn groupby 熊猫系列

    我想将我的数据可视化为箱线图 这些箱线图由我可怕的绘图中显示的另一个变量分组 所以我所做的就是使用 pandas 系列变量告诉 pandas 我已经对变量进行了分组 所以这就是我所做的 import pandas as pd import
  • 如何使用 Selenium 和 Python 更改 DOM 中的属性值

    我正在尝试使用 Python 和 Selenium 浏览网站 但遇到了一个我不知道如何解决的问题 假设它甚至是可能的
  • 如何在cloudfront之间设置SSL作为具有EC2自定义源的反向代理缓存?

    我的域名指向 cloudfront 而 cloudfront 又使用自定义源引用我的 EC2 实例 在本例中 它是来自 EC2 的公共 DNS 名称 例如 xxxxx us west 2 compute amazonaws com 这使得它
  • 尝试调用 WCF Webservice 4.0 时出现返回类型无效错误

    我正在尝试编写和调用 WCF Web 服务 以下是详细信息 网页配置
  • 如何在 Parse 上取回用户数据?

    我想取回 Parse t 上 User 中 requestActive 中的数据 我试试这个 var user PFUser var requestActive user requestActive 但是 错误 实例成员 user 不能在类
  • 将 Observable 转换为异步生成器

    我正在尝试将 rxjs 与 babeljs 结合使用来创建一个异步生成器函数 该函数在next被调用 抛出时error被调用 并完成时complete叫做 我遇到的问题是我无法从回调中屈服 I can await处理返回 抛出要求的 Pro
  • 在 Jelly Bean 上访问其他 Android 应用程序的资源

    我有两个 Android 应用程序 一个是免费的 阅读器 应用程序 另一个是付费的 数据 应用程序 其资产的子目录中有一个文本文件 阅读器应用程序使用以下代码来访问数据应用程序的文本文件 Intent myIntent new Intent
  • 如何在 MyBatis 中使用 UUID 类型处理程序和 @Many 注释?

    我正在使用 mybatis spring boot starter 2 1 0 版本 我需要处理 UUID 类型来获取嵌套集合 Select SELECT id name FROM t service s Results value Res
  • 如何在 Android 中的 MapView 上绘制 KML 文件?

    我必须将 KML 文件绘制到 MapView 中 我看了 在互联网上 但我没有找到如何做到这一点的示例 如果有人可以举例说明如何做到这一点 那就太好了 现在不支持 KML 您可以像这样绘制轨迹 无需 KML 1 向Google服务发出请求
  • 在 Visual Studio 中使用控制台应用程序的输出而不是控制台

    当使用 Eclipse 用 Ja va 编写控制台应用程序时 我看到输出被放入 IDE 本身的文本框中 而不是像 Visual Studio 中那样弹出控制台 这很方便 因为即使程序退出后 我仍然可以充分利用其中写入的文本 因为直到再次运行
  • Pandas shift - 如果满足多个条件,则获取先前的值

    我实际上已经问过这个关于 SQL 的问题 并在这里得到了一个很好的答案 SQL 如果满足使用多个先前列的条件 则 LAG 获取先前的值 但现在我需要它来养熊猫 假设我们有一个数据框 df pd DataFrame id 1 2 3 4 5
  • Python 类方法改变自身

    这不适用于我正在做的任何事情 这只是一些测试代码 因为我只是在学习类方法并且很糟糕 但是假设我有以下代码 class Test int def init self arg self arg def thing self self 10 并去
  • 将外部geojson添加到leaflet层

    我是传单和 JavaScript 的新手 我想我可以使用 geocommons 和 GeoJSON 来托管测绘项目的数据 I found 外部 GeoJSON 和 Leaflet 其他方式 本教程介绍如何使用传单插件读取外部 GeoJSON
  • 如果属性名称以 new 开头,应用程序将崩溃

    在我的项目中 我使用 coredata 其中一个实体有一个名为newTotal 在其对应的 NSManagedObject 类中 属性声明如下 property nonatomic strong NSString newTotal 如果我在
  • Yii2 如何从 url 中删除站点/索引和页面参数

    我在默认页面上使用分页 即在 yii2 中的站点 索引上 所以链接器为分页生成的 URL 看起来像这样 domain com site index page 1 我想删除站点 索引和页面参数 使其如下所示 domain com 1 我尝试在
  • WPF 网格水平对齐不起作用。尺寸不变

    我有一个堆栈 堆栈内有一个网格 当我调整窗口大小时 我需要增加堆栈和网格大小 我将 Stack 和 Grid Horizo ntalAlignment 设置为 拉伸 堆栈工作正常 但当我调整窗口大小时 网格大小不会增加 这是我的代码
  • TensorFlow 索引无效(越界)

    您好 我目前正在尝试使用自己的图像数据运行 TensorFlow 但是当我尝试运行这些函数时它崩溃了 它来自 mnist py def loss fn logits labels batch size tf size labels labe
  • opengl:如何避免纹理缩放

    我该如何申请重复无论应用的顶点数据如何 纹理始终保持其原始比例 纹理中的 1 个像素 屏幕上的 1 个像素 我意识到这不是最常见的任务 但是是否可以轻松设置 opengl 来执行此操作 或者我是否需要对尊重其原始外观的顶点数据应用某种掩码
  • java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法以选择 sqlite

    我是安卓世界的新手 我的编码有问题 这只是一个小错误 我不知道它不起作用 即使我改变了其他方法 但错误仍然是相同的错误 这里的错误发生在logcat java lang NullPointerException Attempt to inv
  • 使用 DOM 选项定位 DataTables 元素

    我无法正确定位l长度变化和f分别过滤我的右上角和左下角的输入DT datatable输出在shiny使用dom选项 代码 library shiny library DT set seed 2282018 company lt data f