2011-08-06 21 views
6

ここでは、asp.netページのjqueryデータテーブルプラグインを使用していますjquery datatableプラグインでデータセットを再ロードするには?

私は現在、ユーザーアクションに基づいてページを更新しています。ユーザーは検索文字列を入力することができ、テーブルは新しいDIV上に結果とともに表示されます。私はそれが初期化された後、テーブルが正しく動作するようになる問題を抱えています。私はfnClearTableだけでなく、fnDestroyを使用しようとしましたが、いくつかの異なる問題が発生しています。

fnClearTableを使用する場合は、テーブルを再ロードしようとしたとき、私はこのエラーを取得:

」(テーブルのid = 『add_assets_table』)を警告のDataTable:のDataTableを再初期化することはできません のDataTableを取得するには、このテーブルのオブジェクト、 dataTable()関数に引数を渡したり、bRetrieveをtrueに設定したり、古いテーブルを破棄して新しいテーブルを作成したりするには、bDestoryをtrueに設定します(設定の変更は、通常ははるかに速いAPI)。 "

答えて

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()が使用されています。新しいデータセットを追加するために使用されるfnAddData()。 fnDraw()はテーブル構造を再描画します。

関連する問題