3

データで満たされたHandsontableテーブルがあり、すでにレンダリングされています

セルをチェックした後、関心のあるセルをいくつか見つけて、それらに色を付けたいと思います-Handsontableコードを使用してこれを行う良い方法はありますか?

これは、テーブルをロードしてレンダリングした後のものであることに注意してください

編集:

テーブルは基本的なオプションでレンダリングされます。

$container.handsontable({
    startRows: 8,
    startCols: 6,
    rowHeaders: true,
    colHeaders: true,
    minSpareRows: 1,
    minSpareCols: 1,
    //contextMenu: false,
    cells: function (row, col, prop) {
    }
  });

そして、データはAjaxを介してロードされ、decode_file.phpはExcelシートを読み取り、データをJSONとして返します。

  $.ajax({
      url: "decode_file.php",
      type: 'GET',
      success: function (res) {
        handsontable.loadData(res.data);
        console.log('Data loaded');
      },
      error: function (res) {
        console.log("Error : " + res.code);
      }
    });

データを読み込んだ後、ユーザーは[処理]ボタンをクリックすると、コードは「Helloworld」というテキストのセルを探します。コードがセル行4/ col 5で「HelloWorld」というテキストを見つけ、セル行4 /col5の背景色を赤に変更したとします。

4

3 に答える 3

1

ホームページはあなたの目的のための良い例を提供します:

http://handsontable.com/demo/renderers.html

条件を変更するだけです(この場合は左上隅)。

cells: function (row, col, prop) {
  if (row === 0 && col === 0) {
    return {type: {renderer: greenRenderer}};
  }
}

これで完了です。

于 2013-03-04T10:02:27.157 に答える
0
  1. handsontable('getSelected') を使用して、選択したセルの座標を取得します

  2. 選択が空でない場合:

    a. すべてのセルをループして、handsontable('getCellMeta') と meta.renderer を使用して各セルのレンダラーを収集し、それらを配列に格納します (これは 1 回だけ実行する必要があります)。

    b. handsontable("updateSettings") と cellProperties.renderer を使用してテーブルを更新します。

    • 選択した座標内のセルに対して、選択したレンダラーを適用し、2.a でレンダラーの名前を更新します。配列

    • 他のすべてのセルには、保存されたレンダラーを適用します

于 2013-06-05T16:51:02.183 に答える