我有一个使用服务器端分页初始化的dataTable,它工作正常.此表在初始化期间触发ajax,拉取数据并呈现到表中.但是我最初需要空表并使用load()或reload()点击按钮加载表数据,如:
myTable.api().ajax.reload();
Run Code Online (Sandbox Code Playgroud)
这是我的表初始化:
function initTestTable(){
myTable = $('#testTable').dataTable({
"processing": true,
"serverSide": true,
"ajax": {
"url": "testTableData.html",
"type": "GET",
},
"columns": [
{ "data": "code" },
{ "data": "description" }
]
});
}
Run Code Online (Sandbox Code Playgroud)
在初始化期间应该有一种限制表加载的方法吗?我阅读了文档,但找不到.请建议.
我试图将列作为具有数据表的超链接,但没有成功.
function successCallback(responseObj){
$(document).ready(function() {
$('#example').dataTable( {
"data":responseObj ,
"bDestroy": true,
"deferRender": true ,
"columns": [
{ "data": "infomation" },
{ "data": "weblink" },
]
} );
} );
Run Code Online (Sandbox Code Playgroud)
}
我需要weblink来显示链接并成为该列中的超链接,以便用户可以单击并重定向到另一个页面.我查看了渲染,但链接上的信息较少,我无法成功.
我也研究了这个例子,但它没有用.
我在我的rails网站上使用jQuery DataTables插件和Bootstrap.我无法将自定义按钮和其他表头元素嵌套在同一行中,它们是堆叠的而不是内联的.
有什么建议让他们都在同一条线上吗?
以下是我使用的一些JavaScript:
$(document).ready(function() {
$('#products').DataTable( {
dom: 'Blfrtip',
buttons: [ {
text: 'Pull my products',
action: function ( e, dt, node, config ) {
alert( 'Button activated' );
}
}]
});
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试配置DataTables以使用RequireJS,我的配置总是会导致此错误:
require.js:1926 GET https://preview.c9users.io/{username}/{workspace}/lib/datatables.net.js
Uncaught Error: Script error for: datatables.net
Run Code Online (Sandbox Code Playgroud)
我的lib/DataTables/*
(包括所有模块)lib/requirejs.js
都需要本地存储在文件夹中lib
,所以我不明白为什么它试图访问该文件datatables.net.js
,因为在任何配置文件中都没有提到这样的字符串.
JSFiddle(为JSFiddle编辑):http://jsfiddle.net/42ucpwee/1/
我的配置是错误的还是可能是错误的原因?
的script.js:
define(['jquery','datatables'], function($) {
$('#example').DataTable();
});
Run Code Online (Sandbox Code Playgroud)
main.js:
requirejs.config({
//appDir: "../",
baseUrl: "lib",
paths: {
'jquery': '//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min',
'bootstrap': '//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min',
/* Error is the same, I can't even use this CDN URL (I need the editor)
'datatables': 'https://cdn.datatables.net/s/bs-3.3.5/jszip-2.5.0,pdfmake-0.1.18,dt-1.10.10,af-2.1.0,b-1.1.0,b-colvis-1.1.0,b-flash-1.1.0,b-html5-1.1.0,b-print-1.1.0,cr-1.3.0,fc-3.2.0,fh-3.1.0,kt-2.1.0,r-2.0.0,rr-1.1.0,sc-1.4.0,se-1.1.0/datatables.min',
*/
'datatables': 'DataTables/datatables',//'DataTables/datatables.min' exactly same error
'script': '../js/script'
},
shim: {
'bootstrap': {
deps: ['jquery']
},
'jquery': {
exports: '$' …
Run Code Online (Sandbox Code Playgroud) 我在我的DataTable中应用了一个按钮,点击该按钮,过滤数据表,只显示点击的行.
表初始化是:
var oDatatable = $("#tblDataTable").DataTable({
dom: '<"top"CRTl><"clear">rt<"bottom"ip><"clear">',
columns: [
{ data: 'Message' },
{ data: 'MessageId' },
{ data: null, "defaultContent": "<button id=\"tblRowData\">Click</button>"}
],
"columnDefs": [
{ "visible": false, "targets": 0 }
]
});
Run Code Online (Sandbox Code Playgroud)
我的点击事件是:
$('#tblDataTable tbody').on('click', 'button', function (event) {
var data = oDataTable.row($(this).parents('tr')).data();
oDataTable
.columns(8)
.search(data['MessageId'])
.draw();
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但现在我想重置过滤器,当页面上的任何其他操作执行.例如,更改日期时间选择器.
如何检查数据表是否应用了搜索过滤器,并将其删除(即在单击事件之前重置表格).
如果有人帮我解决这个问题会很棒.
我只是想从Datatable中获取过滤结果集.
以下是我的代码.
var filtered_row_data = $('#example').DataTable().column(1).search('186').data().unique().sort();
console.log(JSON.stringify(filtered_row_data));
Run Code Online (Sandbox Code Playgroud)
它只返回所有行而不是过滤值.
我正在使用Datatable的最新稳定版本.
有人可以帮忙吗?
我使用https://datatables.net/reference/api/rows.add%28%29链接工作,但数据显示表格为[object,object]
.如何将对象显示为字符串.我用过JSON.stringify(obj)
它也没用.
HTML
<table id="exampleTable">
<thead>
<tr>
<th>Year</th>
<th>Month</th>
<th>Savings</th>
</tr>
</thead>
<tbody>
<tr>
<td>2012</td>
<td>January</td>
<td>$100</td>
</tr>
<tr>
<td>2012</td>
<td>February</td>
<td>$80</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
JS
$('#addRows').click();
var table3 = $('#exampleTable').DataTable();
$('#addRows').on( 'click', function () {
table3.row.add(
[ { "Year": "Tiger Nixon", "Month": "System Architect", "Savings": "$3,120" },
{"Year": "Tiger Nixon", "Month": "System Architect", "Savings": "$3,120" }]
).draw();
});
Run Code Online (Sandbox Code Playgroud) DataTables搜索栏不允许我搜索子行中的内容.
我已搜查广泛找到这个问题的答案(1,2,3,4,5,6,7,8,9),但有一点在这个问题上没有任何反应.
这是一个简单的jsfiddle和DataTables调试器结果.
我想在表格中搜索分机号码(在子行中),但在搜索栏中输入一个分机号码不会留下任何搜索结果.
我通过添加以下内容尝试了此帖子中的解决方案:
table.columns().every( function () {
var that = this;
var header = this.header();
$( 'input', this.footer() ).on( 'keyup change', function () {
that
.column( header.getAttribute('data-search-index')*1 ) // *1 to make it a number
.search( this.value )
.draw();
} );
} );
Run Code Online (Sandbox Code Playgroud)
...但它仍然不起作用,你可以在上面链接的jsfiddle中看到.
有人可以帮帮我吗?
谢谢
我正在使用DataTables创建一个能够动态过滤上下文的表.我在这里遵循基本的例子.
但是,我想进行一次自定义:在我的表格中显示字母表结果,每个字母都有一个"标题行".例如:
A
- Apple
- Avocado
B
- Bear
- Button
C
- Car
Run Code Online (Sandbox Code Playgroud)
我已成功完成此操作(Django
在服务器端使用模板输出),但默认情况下页脚标签Datatables显示为不正确,因为它计算标题行.在上面的例子中,它显示:
Showing 1 to 8 of 8 entries
Run Code Online (Sandbox Code Playgroud)
什么时候应该读:
Showing 1 to 5 of 5 entries.
Run Code Online (Sandbox Code Playgroud)
进一步挖掘,通过API访问信息结果"language": {"info": "Showing START to END of TOTAL entries",}
.
我能够将标题行计数并保存为var headercount = 3
我的Django模板中的变量(例如).
如何修改START
,END
以及TOTAL
在数据表API,以便通过循环时,他们是准确的每一页上?
我正在使用datatables(datatables.net)并使用服务器端处理(django).
我有一个单独的文本字段,我在其中使用它来在已经呈现表之后自定义过滤DataTable中的数据.
以下工作正常:
我想自定义过滤列
var table = $('#problem_history').DataTable( {
"bJQueryUI": true,
"aaSorting": [[ 1, "desc" ]],
"aoColumns": [
// various columns here
],
"processing": true,
"serverSide": true,
"ajax": {
"url": "/getdata",
"data": {
"friend_name": 'Robert'
}
}
} );
Run Code Online (Sandbox Code Playgroud)
所以在页面加载(数据表的初始加载)时,它过滤掉'Robert'就好了.但现在我想以编程方式更改数据以过滤"friend_name"=="Sara"
我尝试了以下内容,filteredData具有正确的过滤对象,但表本身不会使用新过滤器重绘.
var filteredData = table.column( 4 ).data().filter(
function ( value, index ) {
return value == 'Sara' ? true : false;
}
);
table.draw();
Run Code Online (Sandbox Code Playgroud)
我也试过这个,但没有运气.
filteredData.draw();
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
谢谢您的帮助.