2017-12-29 11 views
0

Ich habe eine Datentabelle für den Bericht. Als ich versucht habe, meine Daten zu zeigen, ist mein Browser eingefroren oder abgestürzt. Mein Js Code auf unterSo verwalten Sie die Datentabelle für große Daten

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' 
     } 
    ] 
}); 

Ich habe mehr als 100.000 Daten.

Ich denke, vielleicht kann ich nur zeigen, Seite Daten und Gesamtzahl der Daten (für die Verwaltung von Seitenzahlen) und beim Klicken auf eine andere Seitennummer senden neue Abfrage und erhalten neue Daten. Aber ich konnte nicht finden, wie man das tun. (Vielleicht einige es verursacht weitere Probleme (kurzschließen, auf der Suche vs.)

Haben Sie Ideen bekamen und Lösungen. (Oder dieses Problem bereits eine Lösung)

Fußnote: json hat einige Filter für die Suche nach (Zeit, Zweig, etc.)

HardwareHostScreenUsage Methode meine Daten auf C# Seite bekommt

Antwort

0

Sie clientseitige Datenquelle Auch-

var mydata = []; 
$('#example').DataTable({ 
    data:   data, 
    deferRender: true, 
    scrollY:  200, 
    scrollCollapse: true, 
    scroller:  true 
}); 
verwenden können.

alle Daten gleichzeitig vom Server holen und beim Scrollen der Tabelle anzeigen.

Sie benötigen diese Bibliothek -

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

ich schon versucht, aber den problem.Also zwingende meine pageLengtht Einstellungen nicht gelöst – BMErEr

Verwandte Themen