2016-07-24 26 views
2

jqueryデータテーブルで選択した行を更新する方法を教えてください。jqueryデータテーブルで選択した行を更新する方法

以下のコードでは、セルを設定しようとしています。それは設定されているが、テーブルに反映されていないように見えます。

var datatable = $('#table').DataTable(); 
datatable.row('.selected').cell(':eq(1)').data("1234"); 
alert(datatable.row('.selected').cell(':eq(1)').data()); 

変更された値を警告することはできますが、データテーブルのUIに反映されていません。手伝って頂けますか?あなたは細胞のドキュメント(で述べたよう.draw()方法を使用してテーブルを再描画する必要が

答えて

3

)データ()メソッド:

注セッターとして使用される場合、この方法を適用するデータを設定することテーブルをデータソース配列または行のオブジェクトに格納しますが、draw()メソッドが呼び出されるまで、データのテーブルの内部キャッシュ(つまり、検索および注文キャッシュ)を更新しません。

datatable.row('.selected').cell(':eq(1)').data("1234").draw(); 

のでdocumentation

+0

私もまだ、それはUIに反映されていないということでした。 –

2

Official documentation

ドロー()を確認してください:DataTableの1.10は、テーブルを再描画します。

説明このようなあなたは、DataTableのこれら 変更を反映するように表示を更新したいと思う テーブルのソート、フィルタリングやページング特性を変化させる、 行の追加や削除などのアクションを行います。この機能は、その目的のために提供されています。

あなたのコードは正しいですが、データテーブルは自動的に変更を適用しません。単にdraw()関数を呼び出します。私にとって

datatable.row('.selected').cell(':eq(1)').data('123').draw(); 
0

、これは解決策だった:

var t = $('#myTable').DataTable(); 
t.cell('.selectedRow', ':eq(0)').data('something data'); 
t.cell('.selectedRow', ':eq(1)').data('something data'); 
t.cell('.selectedRow', ':eq(2)').data('something data'); 
t.draw(); 
関連する問題