lokijsを使用する別個のバックエンドデータストアのために多かれ少なかれ、handsontableを使用しています。私のlokijsデータストアは、行、列、データム、およびいくつかのメタデータを持っています。loaddataを使用してhandsontableにセルメタデータをロードする方法はありますか?
ユーザーは、データベースを調整してページをリロードするいくつかの操作を行うことができます。私は、lokijsストアを2次元配列に変換し、loadDataを呼び出して、ユーザが見るページを更新する関数を持っています。
問題点:セルを「無効」とマークすると、セルが赤くなり、lokijsdbが「無効=真」のブール値で更新されます。ユーザーは列を非表示にすることもできます。バックエンドでは、選択された列を除外して新しい2d配列を作成し、loaddataを呼び出すことによってhandontableをリフレッシュします。
ただし、非表示のセルは列の色でうまく再生されません。私のカラーセルの方法はとても似ている:
cells: function (row, col, prop) {
var cellProperties = {};
var cell = cells.findOne({ "col": {"$eq": col}, "row": {"$eq": row}});
if (cell.invalid === true) {
cellProperties.renderer = highlightRowRenderer; //colors red
}
return cellProperties;
あなたがここでの問題を見ることができるかもしれ - 列が非表示になっている場合は、ハイライト表示上のoff-by-oneエラーがありますので、別のセルが上に隠されますハイライト
これを修正する方法は、データを読み込む際に強調表示情報をメタデータとして渡します。残念ながら、私はこれを行う方法を理解することはできません。私はそれがこのように見えると思います:
var data =
[
[ { data: 5, color: red }, { data: 7, color: blue} ],
[ { data: 3, color: green}, { data: 2 } ]
];
hot.loadData(data);
しかし、私はそれが正確であるか分かりません。 hereという同様の懸念があるようですが、非動的サイズのテーブルを扱うように見えます。
ご意見をいただければ幸いです。