Нельзя удалить класс вызова стандартным методом jqGrid.Таким образом, вы должны сделать это вручную:
var iCol = getColumnIndexByName(grid,"ColumnName"),
tr = grid[0].rows.namedItem(rowid), // grid is defined as grid=$("#grid_id")
td = tr.cells[iCol];
$(td).removeClass("my-style-class");
, где getColumnIndexByName
- простая функция, которая получает индекс столбца по имени столбца:
var getColumnIndexByName = function(grid,columnName) {
var cm = grid.jqGrid('getGridParam','colModel');
for (var i=0,l=cm.length; i<l; i++) {
if (cm[i].name===columnName) {
return i; // return the index
}
}
return -1;
}
См. Демонстрацию здесь .
ОБНОВЛЕНО : Свободный jqGrid имеет iColByName
внутренний параметр, который можно использовать вместо функции getColumnIndexByName
.Параметр iColByName
будет внутренне заполнен свободной jqGrid и обновлен путем переупорядочения столбцов.Так что безопасно использовать
var p = grid.jqGrid("getGridParam"), // get the reference to all parameters
iCol = p.iColByName["ColumnName"], // get index by column name
cm = p.colModel[iCol]; // item of "ColumnName" column
Способ очень прост и работает очень быстро.Следует учитывать, что эта функция включена в бесплатную jqGrid после публикации бесплатной jqGrid 4.8.Поэтому для загрузки этой функции необходимо загрузить последние источники с GitHub или использовать хотя бы бесплатную версию jqGrid 4.9-beta1.