Я использую бесплатный jqgrid 4.13.0бесплатно jqgrid пользовательские форматировщик потеряли после сортировки или фильтрации
Я написал пользовательский форматировщик, но, к сожалению, мои ячейки содержимое этого столбца всегда теряются после сортировки таблицы или фильтрации. Я, вероятно, что-то неправильно делаю в функции форматирования, но на самом деле не понял, чего не хватает. Кто-нибудь может заметить мою ошибку? Почему он отлично работает со встроенными, но не с моими. Я был вдохновлен этим: http://www.ok-soft-gmbh.com/jqGrid/CascadingFormater.htm
Я вижу, как пример вызывает $.fn.fmatter.call
, и, возможно, мне тоже нужно это сделать. Это ключ? К сожалению, я не могу найти документацию о том, как это сделать, если я сам напишу эту функцию.
Это моя установка:
var formatEnduser = function (cellValue, options, rowObject, action){
return rowObject.so_enduser_id == undefined ? '' : '<a href="index.php?module=Accounts&view=Detail&record='+rowObject.so_enduser_id+'">'+rowObject.so_enduser_name+'</a>';
}
$("#jqGrid").jqGrid({
datatype: "jsonstring",
datastr: jsonData,
jsonReader: {
root: 'rows',
id: 'crmentity_id',
repeatitems: false,
page: function(obj) { return 1; },
total: function(obj) { return 1; },
records: function(obj) { return obj.rows.length; },
},
autowidth: true,
height: 600,
shrinkToFit: true,
rownumbers: true,
rowNum: 5,
pager: false,
loadonce: true,
viewrecords: true,
colModel: [
{
name: 'crmentity_id',
key: true,
hidden: true
},
{
label: 'Enduser',
name: 'so_enduser_name',
searchoptions: {
sopt : ['cn']
},
formatter: formatEnduser
},
]
});
$('#jqGrid').jqGrid('filterToolbar');
Объект jsonData выглядит следующим образом:
Object { rows=[623], so_total_total=4321, in_total_total=1234 }
В собственности rows
можно найти следующее:
[Object { crmentity_id="60199", so_enduser_id="6808", so_enduser_name="enduser123", mehr...}, Object { crmentity_id="60136", so_enduser_id="6362", so_enduser_name="userend321", mehr...}, 620 mehr...]
Спасибо большое за любая помощь!
EDIT: я добавил jsfiddle, чтобы продемонстрировать проблему, найти конец в фильтре и посмотреть, как данные исчезают. Сортировка делает то же самое. http://jsfiddle.net/tztj9yn7/2/
Спасибо большое за решение проблемы и даже больше для подробного объяснения! Бесплатный jqGrid - это потрясающий народ, но это возможно только из-за таких удивительных людей, как вы, заботясь об этом! – Preexo
* «Удивительный проект, но это возможно только из-за удивительных людей ...». – Preexo
@Preexo: Добро пожаловать! – Oleg