Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jQuery数据表中绘制Excel样式的数据栏?_Javascript_Jquery_Jquery Datatables - Fatal编程技术网

Javascript 如何在jQuery数据表中绘制Excel样式的数据栏?

Javascript 如何在jQuery数据表中绘制Excel样式的数据栏?,javascript,jquery,jquery-datatables,Javascript,Jquery,Jquery Datatables,我希望在jQuery DataTables表的选定列中的值后面添加数据栏,如Excel中的 展示了如何使用jqGrid实现此类功能的解决方案。如何在DataTables中实现类似的效果?如何尝试使用fnRender方法,而是添加如下样式的div: fnRender: function (object) { return "<div style=width: "+obj.data[0]+"%; />" } fnRender:函数(对象){ 返回“” } 使用fnRowCall

我希望在jQuery DataTables表的选定列中的值后面添加数据栏,如Excel中的


展示了如何使用jqGrid实现此类功能的解决方案。如何在DataTables中实现类似的效果?

如何尝试使用fnRender方法,而是添加如下样式的div:

fnRender: function (object) {
    return "<div style=width: "+obj.data[0]+"%; />"
}
fnRender:函数(对象){
返回“”
}

使用fnRowCallback()应该非常简单

我手头没有我的示例代码,但我只想说,如果您使用datatables.net上的示例进行fnRowCallback,您可以使用数据值创建一个适当宽度的div。让我尝试在不进行实际测试的情况下将其整合起来

假设传入数据(aData)和呈现HTML中的可见数据在同一列中(即,没有隐藏列)。让我们进一步假设该列为4(从零开始),aData中的值表示一个百分比:

"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
  var myValue = aData[4];
  $('td:eq(4)', nRow).html( '<div class="excelBar" style="width:' + myValue + '"></div>' );
  return nRow;
},
“fnRowCallback”:函数(nRow、aData、iDisplayIndex){
var myValue=aData[4];
$('td:eq(4)”,nRow.html(“”);
返回nRow;
},
这是一个超级简化的例子。它所做的是获取在当前行的第4列中找到的值(您可以在这里进行更多的逻辑转换;我假设它已经以百分比的形式出现),在呈现的html中修改第4列的html,以包含与已找到的值相同宽度的div。修改后,它返回行的新值(即重新格式化的行)


还有一点。。。必须已经有了CSS,以使其成为一个酒吧(显示:块等),但这是它的长短不一。

不能评论这么新的答案。我不得不对已接受的答案做一个小改动,并在div宽度中添加“px”:

"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
  var myValue = aData[4];
  $('td:eq(4)', nRow).html( '<div class="excelBar" style="width:' + myValue + 'px"></div>' );
  return nRow;
},
“fnRowCallback”:函数(nRow、aData、iDisplayIndex){
var myValue=aData[4];
$('td:eq(4)”,nRow.html(“”);
返回nRow;
},
开箱即用:

$("table").dataTable({}, $("table").databar());