2017-12-29 41 views
0

보고서 용 데이터 테이블이 있습니다. 내 데이터를 표시하려고 할 때 브라우저가 멈추거나 중단되었습니다. 아래에 내 js 코드대형 데이터 용 데이터 테이블을 관리하는 방법

Reporting_Report.DTReport = $('#Report-ReportTable').DataTable({ 
    "ajax": { 
     "url": "/Ajax/JsonProvider?Method=HardwareHostScreenUsage&GenericObject=true&Json=" + JSON.stringify(json), 
     "dataSrc": "" 
    }, 
    "columns": [ 
     { 
      "data": "BranchName", 
      "sTitle": "BranchName" 
     }, 
     { 
      "data": "HardwareHostFriendlyName", 
      "sTitle": "Hardware Host Friendly Name" 
     }, 
     { 
      "data": "HardwareHostScreenUsageScreenState", 
      "defaultContent": "N/A", 
      "sTitle": "Hardware Host Screen Name" 
      "render": function(data, type, full) { 
       if (data && Util.Check.IsInteger(data)) { 
        if (data == 1) { 
         return "Sorry Screen"; 
        } else if (data == 2) { 
         return "Welcome Screen"; 
        } else if (data == 3) { 
         return "Progress Screen"; 
        } 
       } 
      } 
     }, 
     { 
      "data": "HardwareHostScreenUsageSecondOnScreen", 
      "sTitle": "Elapsed Time On Hardware Host Screen" 
     }, 
     { 
      "data": "HardwareHostScreenUsageRecordDate", 
      "sTitle": "Hardware Host Screen Usage Record Date" 
      "render": function (data, type, full) { 
       return Util.JsonDateToDate(data).format("dd.mm.yyyy HH:MM:ss"); 
      } 
     } 
    ], 
    "pageLength": 20, 
    "lengthMenu": [ 
     [20, 50, 100, -1], 
     [20, 50, 100, "All"] 
    ], 
    "info": false, 
    bFilter: true, 
    bInfo: false, 
    "order": [[0, "asc"]], 
    "scrollX": true, 
    dom: 'Bfrtip', 
    buttons: [ 
     { 
      extend: 'copy' 
     }, 
     { 
      extend: 'csv' 
     }, 
     { 
      extend: 'excel' 
     }, 
     { 
      extend: 'pdf', 
      title: "Detailed Ticket Report" 
      message: startDate + " " + startTime + " - " + endDate + " " + endTime + "\t" + datetime, 
      pageSize: 'LEGAL' 
     }, 
     { 
      extend: 'print' 
     } 
    ] 
}); 

나는 100000 개가 넘는 데이터가 있습니다.

어쩌면 내가 페이지 데이터와 총 데이터 수 (페이지 수 관리)를 표시하고 다른 페이지 번호를 클릭하면 새 쿼리를 보내고 새 데이터를 얻을 수 있다고 생각했습니다. 그러나

) 내가.

당신은 어떤 아이디어와 솔루션을 가지고 있나요 (어쩌면), 검색 대를 단락 몇 가지 다른 문제를 (발생합니다. 해당 작업을 수행하는 방법을 찾을 수 없습니다 (또는이 문제는 이미 솔루션을

각주 : JSON은

HardwareHostScreenUsage 방법은 C#을 측면에 내 datas를 얻을 쿼리 (시간, 지점 등)에 대한 몇 가지 필터가

답변

0

당신이

var mydata = []; 
$('#example').DataTable({ 
    data:   data, 
    deferRender: true, 
    scrollY:  200, 
    scrollCollapse: true, 
    scroller:  true 
}); 
있었어 .- 클라이언트 측의 데이터 소스를 사용할 수 있습니다.

은 서버에서 모든 데이터를 한 번에 가져 와서 테이블을 스크롤하는 동안 표시합니다.

는 이러한 라이브러리 필요 -

https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js https://cdn.datatables.net/scroller/1.4.3/js/dataTables.scroller.min.js

+0

가 이미 시도를하지만 내 pageLengtht 설정을 무시 problem.Also가 해결되지 않았다 – BMErEr