2

行を編集した直後 (モード インライン)、新しい値に従ってセルのいくつかの css プロパティを変更しようとしました。

通常:1行を編集した後、文字「D」を含むこの行のすべてのセルを編集した後、新しいcssプロパティでセルを更新します:background-color:grey(setCellメソッドを使用)

そのために、インライン編集を使用します。

grid.jqGrid('navGrid',"#pager",{edit:false, add:false, del:false});
grid.jqGrid('inlineNav',"#pager",{edit:true, add:false, del:false, editParams: myEditParam});

編集後に背景を変更するには、 aftersavefunc メソッドを使用します

myEditParam :
...
    aftersavefunc: function(rowId, dataFromServer)
    {
      var rowData = $("#list").jqGrid("getRowData", rowId);
      for (var key in rowData)
      {
        if (rowData[key] == "D")
        {
          key++;
          $("#list").jqGrid("setCell",rowId, key, "", {"background-color": "#ECECEC"}  );
        }
      }
    },
...

このコードは機能しますが、残念ながら、グリッドの 1 つの列を並べ替えると、setCell メソッドが保持されません! (セルの背景色が失われました: グレー)

新しい値の関数で編集した後に背景を変更するためのより良い方法はありますか?

あなたの助けをありがとう;)

4

2 に答える 2