Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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
Jquery 单击“打印视图”选项时,Datatables服务器端处理将命中数据库_Jquery_Ajax_Asp.net Mvc_Datatable_Server Side - Fatal编程技术网

Jquery 单击“打印视图”选项时,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

使用表工具单击“打印视图”选项时,Datatables服务器端处理会命中数据库

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扩展已退役。看起来这一点正在被替代。虽然我看不到打印按钮,但希望很快看到:)