Jquery 单击“打印视图”选项时,Datatables服务器端处理将命中数据库
使用表工具单击“打印视图”选项时,Datatables服务器端处理会命中数据库Jquery 单击“打印视图”选项时,Datatables服务器端处理将命中数据库,jquery,ajax,asp.net-mvc,datatable,server-side,Jquery,Ajax,Asp.net Mvc,Datatable,Server Side,使用表工具单击“打印视图”选项时,Datatables服务器端处理会命中数据库 if(gridcount!=null&&parseInt(gridcount)>0){ _displayCount=parseInt(gridcount); } loaddatatable(); 函数loaddatatable() { _fromdate=$('#FromDateSelect').val(); _todate=$('#ToDateSelect').val(); $('ddBankAccountYea
if(gridcount!=null&&parseInt(gridcount)>0){
_displayCount=parseInt(gridcount);
}
loaddatatable();
函数loaddatatable()
{
_fromdate=$('#FromDateSelect').val();
_todate=$('#ToDateSelect').val();
$('ddBankAccountYears').val($('hbankAccountYears').val());
_年份=$('#ddBankAccountYears').val();
oTable=$('#List')。数据表({
“bStateSave”:正确,
“fnStateSave”:函数(oSettings,oData){
$('#displayCount').val(oData.ilelength);
$('#SortType').val(oData.aaSorting[0][1]);
$('#SortColumn').val(oData.aaSorting[0][0]);
},
“sDom”:“lrtip”,
是的,
“aaSorting”:[[u SortColumn,[u sortType]],
“iDisplayLength”:,
“bServerSide”:正确,
“sAjaxSource”:“/ControllerName/AjaxHandler?id=“+\u AccountId+”&id2=“+\u Year+”&fromdate=“+encodeURIComponent”(\u fromdate)+”&todate=“+encodeURIComponent”(\u todate),
“bProcessing”:正确,
“aoColumns”:[]
});
}
使用TableTools扩展2.2.4遇到类似问题
我处理避免再次击中控制器的方法是使用“bShowAll”:false
我还通过$.fn.dataTable.TableTools
初始化TableTools
JS代码:
$(document).ready(function () {
//server side processing
var table = $('#dataTable').DataTable({
"lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
"bPaginate": true,
"processing": true,
"serverSide": true,
"ajax": {
"url": "/app/api/class/getData",
"type": "POST",
// additional params for the method (optiona)
data: {
startDate: startDate,
endDate: endDate
}
},
"columns": [
{"data": "date"},
{"data": "name"},
{"data": "email"},
],
"language": {
"processing": "<i class=\"fa fa-spinner fa-spin\"></i>"
}
});
// append data tools
appendDataTools();
// initialize the TableTools and then append to DOM
function appendDataTools() {
var tt = new $.fn.dataTable.TableTools(table, {
// it uses a Flash SWF file to provide the ability to
// copy text to the system clipboard and save files locally.
"sSwfPath": "../swf/copy_csv_xls_pdf.swf",
// select which buttons to display and export only the visible columns
// now the exporting only the selection is broken
"aButtons": [
{
"sExtends": "copy",
"mColumns": "visible",
"bSelectedOnly": true
},
{
"sExtends": "xls",
"mColumns": "visible",
"bSelectedOnly": true
},
{
"sExtends": "print",
"mColumns": "visible",
"bSelectedOnly": true,
"bShowAll": false
}
]
});
var dataTools = $("#dataTableTools");
dataTools.append(tt.fnContainer());
}
$(文档).ready(函数(){
//服务器端处理
变量表=$('#dataTable')。dataTable({
“长度菜单”:[[10,25,50,-1],[10,25,50,“全部”],
“bPaginate”:对,
“处理”:对,
“服务器端”:正确,
“ajax”:{
“url”:“/app/api/class/getData”,
“类型”:“职位”,
//方法的其他参数(optiona)
数据:{
开始日期:开始日期,
结束日期:结束日期
}
},
“栏目”:[
{“数据”:“日期”},
{“数据”:“名称”},
{“数据”:“电子邮件”},
],
“语言”:{
“处理”:”
}
});
//附加数据工具
appendDataTools();
//初始化TableTools,然后附加到DOM
函数appendDataTools(){
var tt=新的$.fn.dataTable.TableTools(表{
//它使用Flash SWF文件来提供
//将文本复制到系统剪贴板并在本地保存文件。
“sSwfPath”:“./swf/copy\u csv\u xls\u pdf.swf”,
//选择仅显示和导出可见列的按钮
//现在,仅导出所选内容的对话框已断开
“阿布顿”:[
{
“复制”,
“McColumns”:“可见”,
“bSelectedOnly”:true
},
{
“性倾向”:“xls”,
“McColumns”:“可见”,
“bSelectedOnly”:true
},
{
“性倾向”:“打印”,
“McColumns”:“可见”,
“bSelectedOnly”:正确,
“bShowAll”:false
}
]
});
var dataTools=$(“#dataTableTools”);
append(tt.fnContainer());
}
}))
注:截至2015年9月4日,TableTools扩展已退役。看起来这一点正在被替代。虽然我看不到打印按钮,但希望很快看到:)