このblogの解決策に基づいて、私は解決策をコード化することができました。
See this JS fiddle that answers all my requirements.
私が探していた主な機能は、このいずれかです。
私はデータを比較し、入力フィールド(
searchFields)とストリングスの同期テーブルを保持している何をしたか
// The function push every row satisfying all the input values into an array that is loaded
function filter() {
var row, r_len, col, c_len;
var data = myData; // Keeping the integrity of the original data
var array = [];
var match = true;
for (row = 0, r_len = data.length; row < r_len; row++) {
for(col = 0, c_len = searchFields.length; col < c_len; col++) {
if(('' + data[row][col]).toLowerCase().indexOf(searchFields[col]) > -1);
else match=false;
}
if(match) array.push(data[row]);
match = true;
}
hot.loadData(array);
}
入力とその対応する列との間の各行の対応する行を配列にプッシュし、最後に結果の配列を表示する。このファンクションは、入力フィールドの変更に対して呼び出され、結果としてライブテーブルのフィルタリングが行われます。
私は〜10k行のソリューションを試しましたが、Chrome、Firefox、IEではパフォーマンス上の問題はありません。
はまた、私はは値を編集する際に、元のデータと同期した現在表示されたテーブルを維持するための解決策を見つけることができたことに注意してください、これは、この質問の範囲外IMOです。あなたがこれに興味があるなら、コメントで私に教えてください。
出典
2016-09-29 14:09:40
fab
結果の行を非表示にしたいが、HidesontableのHidingはPROバージョンhttps://docs.handsontable.com/pro/1.7.0/demo-hiding-rows.htmlにあります。 –
それから回避策はありますか? – fab