2

YUI データテーブルでは、削除操作が最も遅いようです。300 行を超えるデータテーブルがあります。選択した行を削除する必要があります。から選択したレコードを削除してからrecordset呼び出してみtable.render()ました..これで問題ありませんが、改善できますか?

4

3 に答える 3

2

データテーブルウィジェットの「deleteRow」メソッドに関するAPIドキュメントをご覧ください(http://developer.yahoo.com/yui/docs/YAHOO.widget.DataTable.html#method_deleteRow)。これは私にはこれがあなたが望むものであるように見えます。おそらく次のようなものです:

var selected = theDataTable.getSelectedRows();
var rset = theDataTable.getRecordSet();

for (var x = 0; x < selected.length; x++) {
    theDataTable.deleteRow(rset.getRecordIndex(rset.getRecord(selected[x]))
}
于 2008-12-06T20:39:31.637 に答える
1

いいえ、これは私が書いたものより遅いです。ここでは、行ごとに削除し、データテーブルを再レンダリングする必要があるたびに削除します。

私がしたことは、これらのレコードをレコードセットから削除してから、データブルを一度レンダリングすることでした。それはより高速ですが、それほど多くはありません。

于 2008-12-07T06:40:51.423 に答える
0

私の知る限り、yui データテーブルから行を削除する最速の方法です。ただし、ユーザーのために、300 行が必要でない限り、バージョン 2.6.0 で改善されたページネーションを検討する必要があります (分割され、DataTable だけでなく他のオブジェクトでも使用できるようになりました)。

于 2008-12-08T15:04:25.980 に答える