2011-08-06 17 views
6

Tutaj pracuję z wtyczką tabeli danych jquery w asp.net pageJak ponownie załadować zestaw danych w jquery datatable plugin ??

Obecnie pracuję z tabelą, która jest odświeżana na stronie na podstawie działań użytkownika. Użytkownicy mogą wprowadzać ciąg wyszukiwania, a tabela otwiera się na nowym DIV z wynikami. Mam problemy z prawidłowym działaniem tabeli po jej zainicjowaniu. Próbowałem używać fnDestroy, jak również fnClearTable, ale mam kilka problemów.

Podczas korzystania fnClearTable, otrzymuję ten błąd, gdy próbuje odświeżyć tabelę:

"DataTables ostrzegawcze (table id = 'add_assets_table'). Nie można ponownie zainicjować DataTable aby pobrać DataTables sprzeciw dla tej tabeli, proszę przekazać albo żadnych argumentów do funkcji dataTable(), albo ustawić bRetrieve na true.Alternatywnie, aby zniszczyć starą tabelę i utworzyć nową, ustaw bDestory na true (zauważ, że wiele zmian w konfiguracji może być dokonanych przez API, które zwykle jest znacznie szybsze). "

Odpowiedz

6
if (typeof oTable == 'undefined') { 
      oTable = $('#example').dataTable({ 
       "aaData": [ 
        /* Reduced data set */ 
        [ "Trident", "Internet Explorer 4.0", "Win 95+", 4, "X" ], 
        [ "Trident", "Internet Explorer 5.0", "Win 95+", 5, "C" ], 
        [ "Trident", "Internet Explorer 5.5", "Win 95+", 5.5, "A" ], 
        [ "Trident", "Internet Explorer 6.0", "Win 98+", 6, "A" ], 
        [ "Trident", "Internet Explorer 7.0", "Win XP SP2+", 7, "A" ], 
        [ "Gecko", "Firefox 1.5", "Win 98+/OSX.2+", 1.8, "A" ], 
        [ "Gecko", "Firefox 2", "Win 98+/OSX.2+", 1.8, "A" ], 
        [ "Gecko", "Firefox 3", "Win 2k+/OSX.3+", 1.9, "A" ], 
        [ "Webkit", "Safari 1.2", "OSX.3", 125.5, "A" ], 
        [ "Webkit", "Safari 1.3", "OSX.3", 312.8, "A" ], 
        [ "Webkit", "Safari 2.0", "OSX.4+", 419.3, "A" ], 
        [ "Webkit", "Safari 3.0", "OSX.4+", 522.1, "A" ] 
       ], 
       "aoColumns": [ 
        { "sTitle": "Engine" }, 
        { "sTitle": "Browser" }, 
        { "sTitle": "Platform" }, 
        { "sTitle": "Version", "sClass": "center" }, 
        { 
         "sTitle": "Grade", 
         "sClass": "center", 
         "fnRender": function(obj) { 
          var sReturn = obj.aData[ obj.iDataColumn ]; 
          if (sReturn == "A") { 
           sReturn = "<b>A</b>"; 
          } 
          return sReturn; 
         } 
        } 
       ] 
      }); 
    } 
    else { 
     var dataset = [ 
        /* Reduced data set */ 
        [ "Trident", "Internet Explorer 4.0", "Win 95+", 4, "X" ], 
        [ "Trident", "Internet Explorer 5.0", "Win 95+", 5, "C" ], 
        [ "Trident", "Internet Explorer 5.5", "Win 95+", 5.5, "A" ], 
        [ "Trident", "Internet Explorer 6.0", "Win 98+", 6, "A" ], 
        [ "Trident", "Internet Explorer 7.0", "Win XP SP2+", 7, "A" ], 
        [ "Gecko", "Firefox 1.5", "Win 98+/OSX.2+", 1.8, "A" ], 
        [ "Gecko", "Firefox 2", "Win 98+/OSX.2+", 1.8, "A" ], 
        [ "Gecko", "Firefox 3", "Win 2k+/OSX.3+", 1.9, "A" ], 
        [ "Webkit", "Safari 1.2", "OSX.3", 125.5, "A" ], 
        [ "Webkit", "Safari 1.3", "OSX.3", 312.8, "A" ], 
        [ "Webkit", "Safari 2.0", "OSX.4+", 419.3, "A" ], 
        [ "Webkit", "Safari 3.0", "OSX.4+", 522.1, "A" ] 
       ]; 
     oTable.fnClearTable(0); 
     oTable.fnAddData(dataSet); 
     oTable.fnDraw(); 

    } 

fnClearTable() używana do przezroczystego stołu. fnAddData() służy do dodawania nowego zestawu danych. fnDraw() przerysowuje strukturę tabeli.

Powiązane problemy