【问题标题】:Styling jQuery Data Table Search Panel样式化 jQuery 数据表搜索面板
【发布时间】:2021-02-04 22:38:09
【问题描述】:

我刚刚发现了数据表搜索面板,但它的样式给我留下了深刻的印象。我已经搜索了应用样式的文档,但无法使用:

var tblItems = $("#itemsTable").DataTable({
    jQueryUI: true,
    data: [],
    dom: 'Bfrtip',
    buttons: [
        {
            extend: 'searchPanes',
            config: {
            //dtOpts: {
                columns: [0, 1, 2, 5 ],
                layout: 'columns-4',
                hideCount: false,
                info: false,
                controls: true,
                cascadePanes: false,
                className: 'myCustomClass'
            }
        },

没有检查搜索面板中使用的类 (dtsp-xxx) 并覆盖它们,我如何将样式应用于面板(字体大小、颜色、引导类...)?

我为 myCustomClass 设置了一些可笑的东西,比如厚红色边框和青色背景颜色,以便轻松查看它是否已应用。

【问题讨论】:

    标签: jquery css datatables


    【解决方案1】:

    您能做的有些有限 - 但这可能会有所帮助:

    我在我的 DataTable 中添加了以下内容:

    columnDefs:[{
      searchPanes:{
        className: 'myCustomClass'
      },
      targets: '_all'
    }]
    

    这会将类名添加到搜索窗格中的每个面板。

    然后我添加了一个非常基本的样式:

    <style>
    .myCustomClass div.dataTables_scroll {
      border-style: solid;
      border-color: red;
      border-width: 1px;
    }
    </style>
    

    这针对每个窗格中的可滚动区域:

    几点说明:

    1. 我从未将搜索窗格放在按钮控件中 - 很好!但我确实注意到(对我而言)这样做会在浏览器控制台中引发一些错误,当搜索窗格不在按钮中时不会发生这些错误。不确定这是否会干扰任何功能。

    2. 您必须将类名添加到像这样的columnDefs 值,这有点违反直觉(对我来说)。它有效,但也有可能有更好的方法。

    【讨论】:

    • 我的示例还将“className”设置为 myCustomClass。唯一的区别是我将它放在按钮控件中,因为我不想让窗格一直打开。也许这就是问题所在,当按钮触发搜索窗格时需要不同的语法?我会试试 columnDefs 并让你知道。谢谢。
    • 我的示例在按钮中也有面板。抱歉,如果不清楚。
    • 好的,正如您所提到的,它适用于面板可滚动区域中的内容。当我删除 div.dataTableScroll 时,它适用于窗格内面板的外部。我认为这可能是我可以在不修改 searchPane 自己的类的情况下达到的程度。
    • @joshmoto 谢谢,但这些更改适用于 dom。我很欣赏您的回复,但我正在专门修改搜索窗格的样式。
    猜你喜欢
    • 2021-02-13
    • 2013-11-05
    • 1970-01-01
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 2023-03-02
    • 2013-07-16
    • 1970-01-01
    相关资源
    最近更新 更多