我已经"成功"将DataTables实施到我的应用程序中.网格最初从服务器加载完全没问题.但是,当我ajax.reload();在我的网格上调用该方法时,Processing消息就会卡在那里,几乎就像JSON错误或者对服务器的调用失败一样.
我检查了JSON无论在初始呼叫和后ajax.reload()呼叫,它正是同一两次-没有JSON错误可言,完全相同的JSON字符串.
为什么在随后的服务器调用中,即使两次都返回相同的JSON,Processing消息仍然存在?
这是我的代码:
var objUserTotalsTable = $('#tbl-qmes-tasking-user-totals').DataTable({
processing: true,
language: {
processing: '<span class="fa fa-refresh fa-spin fa-3x fa-fw datatable-spinner"></span><div class="loading-text">Loading</div>'
},
info: false,
serverSide: true,
ordering: false,
paging: false,
searching: false,
ajax: {
url: "Models/crud/Reports/qmes-tasking-select.aspx",
data: {
valSwitch: "user_totals"
},
}
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试在datatable..as中实现子行,如 https://datatables.net/extensions/sensitive/examples/child-rows/whole-row-control.html, 但现在我遇到一个错误,无法读取属性“ Api”未定义的 输入图像描述在这里
custom.js
$(document).ready(function() {
$('#example').DataTable( {
responsive: {
details: {
type: 'column',
target: 'tr'
}
},
columnDefs: [ {
className: 'control',
orderable: false,
targets: 0
} ],
order: [ 1, 'asc' ]
} );
} );
Run Code Online (Sandbox Code Playgroud)
index.html.erb
<table id="example" class="display nowrap" cellspacing="0" width="100%">
<thead>
<tr>
<th></th>
<th>First name</th>
<th>Last name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
<th>Extn.</th>
</tr>
</thead>
<tfoot>
<tr>
<th></th>
<th>First name</th>
<th>Last name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
<th>Extn.</th>
</tr>
</tfoot> …Run Code Online (Sandbox Code Playgroud) 有没有一种方法可以确定变量是否为已初始化的DataTable?我假设$.fn.dataTable.isDataTable()可以使用,但这仅适用于表选择器,不适用于包含已初始化DataTable的变量。对于以下变量,此函数返回false:
var table = $("#table").DataTable(); // Valid initialized DataTable
console.log($.fn.dataTable.isDataTable("#table")); // Returns true
console.log($.fn.dataTable.isDataTable(table)); // Returns false...why?
Run Code Online (Sandbox Code Playgroud)
由于$.fn.dataTable.isDataTable()不能用于检查变量,是否还有另一种方法来查看此类变量是否为已初始化的DataTable?我基本上是想这样做:
if (isDataTable(variable)) {
// datatable ... do datatable stuff
} else {
// not a datatable... do other stuff
}
Run Code Online (Sandbox Code Playgroud) 有谁知道您如何设计从Buttons扩展生成的PDF的样式?我只是想右对齐,如何在数据表中使用colspan?
谢谢
我的代码是
$('#reporTable').DataTable({
"paging" : false,
"ordering": false,
"info" : false,
"searching" : false,
dom: 'T<"clear">lfrtip',
tableTools: {
"sSwfPath": "/javascripts/js/dataTables/tools/swf/copy_csv_xls_pdf.swf",
"aButtons": [
{
"sExtends": "pdf",
"sTitle": $filename,
"sPdfOrientation": "landscape",
"sPdfMessage": $out_name+":" + msg
},
],
}
});
Run Code Online (Sandbox Code Playgroud) 我在闪亮的代码如下
DT::renderDataTable({
df()
, rownames=FALSE
,extensions = c('Responsive', 'Buttons')
, options = list(
# dom = 'C<"clear">T<"clear">lfrtip'
# , tableTools=list(sSwfPath = copySWF('www'))
dom = 'Bfrtip'
, buttons = c('pageLength'
, 'colvis'
, 'pdf')
, orientation ='landscape'
, lengthMenu = list(c(6, 12, 18, -1), c('6', '12', '18', 'All'))
, pageLength = 12
)
)
}
})
Run Code Online (Sandbox Code Playgroud)
我想横向下载pdf。我应该怎么做。
根据以下链接:https : //datatables.net/reference/button/pdf,我们可以将方向作为景观。但是,我无法做到。
我尝试了以下方法:
DT::renderDataTable({
df()
, rownames=FALSE
,extensions = c('Responsive', 'Buttons')
, options = list(
# dom = 'C<"clear">T<"clear">lfrtip'
# , …Run Code Online (Sandbox Code Playgroud) 我是使用DataTables的新手,我一直在努力改变我的DataTable的主体.
我一直在寻找API和搜索论坛,但我找不到任何东西.
API有一个函数body(),用于获取表体.如果有一个设置它的功能,那将是太棒了.
想象一下,我正在通过AJAX获得一个全新的表体,我想要删除旧体并将其放置.
我曾经通过jQuery函数来做这件事,html()但看起来事情在这里有所不同.
首先道歉,因为这可能看到重复,因为我已经搜索了另一个解决方案,然后继续这个,但仍然无法弄明白.我在这段代码中初始化了Datatables表: -
$('#get_contacts').on('show.bs.modal', function(e)
{
$('#contacts_table').DataTable({
deferRender: true,
responsive: true,
'bPaginate': false,
'bInfo': false,
ajax: 'send_sms_lib.php?mode=listContacts',
columns: [
{data:'contact_id'},
{data:'contact_name'},
{data:'mobile_numb'},
{data:'contact_id'}
],
'columnDefs': [{
'targets': 3,
'searchable': false,
'orderable': false,
'render': function (data, type, row){
return '<input type="checkbox" id="no" name="no" value="'+data+'">';
}
}]
});
/* *comment temporary since I'm doing my own testing*
$('#group_table').DataTable({
deferRender: true,
responsive: true,
'bPaginate': false,
'bInfo': false,
ajax: 'send_sms_lib.php?mode=listGroup',
columns: [
{data:'group_id'},
{data:'group_name'},
{data:'contact_name'},
{data:'group_id'}
],
'columnDefs': [{
'targets': 3,
'searchable': false,
'orderable': false, …Run Code Online (Sandbox Code Playgroud) 我试图在简单的Domino XPage上使用jQuery 的' DataTables '表插件.
我从CDN加载了两个必需的库...
JQuery:ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js
DataTables:cdn.datatables.net/1.10.13/css/jquery.dataTables.min.css
我也尝试从本地资源加载它们(没有帮助).
然后我在XPage上准备一个基本表,并包含必要的Javascript来初始化表...
$(document).ready(function() {
$('#tableID').DataTable();
} );
Run Code Online (Sandbox Code Playgroud)
当我测试XPage时,我会不断观察
test.xsp:15 Uncaught TypeError: $(...).DataTable is not a function
Run Code Online (Sandbox Code Playgroud)
我搜索了几个论坛,普遍的共识是......
a)我以错误的顺序加载了库(不!)
b)我不止一次加载jQuery(如何?)
我有很多其他使用Bootstrap和jQuery的解决方案,之前从未遇到过这个问题.所以,我虽然可能会将XPage剥离回骨架.我通过在'xp.properties'文件中添加以下行来删除页面上的所有Dojo元素...
xsp.client.script.libraries=none
Run Code Online (Sandbox Code Playgroud)
这实际上似乎工作!我不再观察到错误.但是,我的页面看起来不再适合(显而易见的原因!).我不得不将'xp.properties'文件恢复到原始状态,但无法找到如何避免错误.
有没有人在XPage上成功使用过'DataTables'的jQuery插件?任何反馈或建议将非常感谢!
我正在使用Laravel Datatables插件,我想将ROLE变量传递给函数,以便我可以访问它.
$ roles =\Spatie\Permission\Models\Role :: all();
if (!empty($roles)) :
foreach ($roles as $role) :
$dt->addColumn($role->name, function ($user) {
return $this->generate_user_role_button($user, $role->name);
});
$rawColumns[] = $role->name;
endforeach;
endif;
Run Code Online (Sandbox Code Playgroud)
上面的代码不起作用,但我想知道什么是解决方案.
我在js中有一个特定的对象数组,表示一个表的列.我的目标是:
var columns = {
"image": {
"show": false,
"orderable": true,
"value": 0,
"displayOrder":2
},
"name": {
"show": true,
"orderable": true,
"value": 1,
"displayOrder":0
},
"company": {
"show": false,
"orderable": false,
"value": 2,
"displayOrder":1
}
}
Run Code Online (Sandbox Code Playgroud)
我必须通过"displayOrder"来订购对象,但是使用类似的函数
columns.sort(function(a, b) {
return parseFloat(a.displayOrder) - parseFloat(b.displayOrder);
});
Run Code Online (Sandbox Code Playgroud)
显然它会返回一个错误.我怎么能这样做?