【问题标题】:How to manipulate a particular row in Data table Javascript api如何操作数据表Javascript api中的特定行
【发布时间】:2015-02-23 09:37:53
【问题描述】:

我正在使用数据表 javascript Api。使用起来非常简单。只需创建一个数组并传递给数据表。工作正常。没问题

例子:

<html>
<head>
<link rel="stylesheet" href="//cdn.datatables.net/1.10.5/css/jquery.dataTables.css"/>
<script type="text/javascript" src="//cdn.datatables.net/1.10.5/js/jquery.dataTables.min.js"></script>
<script type="text/javascript">   
var dataSet = [[1,'some text1','some text1','some text1',1],[2,'some text2','some text2','some text2',0],[3,'some text3','some text3','some text3',1]];
            $('#example').dataTable( {      
                "data": dataSet,
                "columns": [
                { "title": "id" },
                { "title": "Name" },
                { "title": "Parent", "class": "center" },
                { "title": "Description" },
                { "title": "active", "class": "center","bSortable": false }
                ]
            } );
        </script>
        </head>
        <body>
        <table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>
        </body>
        </html>

所以我想根据条件为特定行设置不同的颜色。这里我们无法控制行。我如何尝试数据表中可用的行回调。但它总是反映到标题..

感谢您的宝贵时间。

【问题讨论】:

  • “禁用”是什么意思?
  • 这个问题有点含糊,但您可以使用mRender 检查条件并在&lt;td&gt; 中显示禁用的控件,或者使用fnRowCallback 将禁用的css 类添加到列中。您需要解释“禁用”的含义。你的意思是“隐藏”吗?
  • @markpsmith 。我正在从数据库中获取记录。我想为状态不活动的行添加不同的背景颜色(活动列为 0)。

标签: jquery html datatable datatables jquery-datatables


【解决方案1】:

如 cmets 中所述,您可以为此使用 fnRowCallback

...   
{ "title": "active", "class": "center","bSortable": false }
],
"fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
   var status = aData[5];
   // check the status
   if(status = 'not active'){ // or whatever your status value is...
        $(nRow).addClass('row-inactive');
   }
}

这会将row-inactive 类添加到当前&lt;tr&gt;。你显然需要一个像 .row-inactive td{background-color:red;} 这样的 CSS 类来使它工作。

【讨论】:

  • 感谢 markpsmith 抽出宝贵时间。但它总是只反映在标题上。 fnRowCallback 回调的调用次数与数据库/数组中的记录数一样多。但最后它只适用于标题:(
  • 每一行都添加了类吗?
  • 无标记,类仅添加到表中。 jsfiddle.net/rupakdas85/nyuv8uc6/7
  • 我弄错了,对不起。我已经更新了答案,这里是更正的小提琴https://jsfiddle.net/nyuv8uc6/8/
  • 请随意将此答案标记为正确 - 我注意到您还没有对 任何个问题这样做!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-05
  • 2021-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
相关资源
最近更新 更多