jqGrid 4.8.0 - Как получить тип ячейки или значение ячейки, используя jsonmap
Я пытаюсь получить значение ячейки от onSelectRow
событие.
Я могу добиться этого, используя:
celValue = $('#jqGrid').jqGrid ('getCell', rowid, 'id');
Два вопроса:
- Есть ли способ получить его с помощью
'jsonmap'
, и не'name'
? - Есть ли способ узнать тип ячейки? (дата, число, целое число и т. д.)
Спасибо,
Таль.
1 ответ
Сначала вы можете найти индекс столбца, из которого вы хотите получить данные. Вы можете использовать код как
var $grid = $("#jqGrid"), colModel = $grid.jqGrid("getGridParam", "colModel"), cm, i,
iCol = -1, l = colModel.length, propName = "jsonmap", propVal = "start_time", val;
for (i = 0; i < l; i++) {
cm = colModel[i];
if (cm[propName] === propVal) {
iCol = i;
break;
}
}
if (iCol >= 0) {
val = $grid.jqGrid("getCell", rowid, iCol);
}
Приведенный выше код поиска по индексу iCol
колонны, которая имеет propVal
("start_time"
) в собственности propName
("jsonmap"
). Первый столбец со свойством будет использоваться как опция getCell
,
Таким же образом вы можете искать столбец, который имеет конкретные formatter
, Я бы порекомендовал вам использовать шаблоны столбцов в colModel
, Если вы определяете cmTemplate
$.extend(true, $.jgrid, {
cmTemplate: {
dateType: {
sorttype: "date", edittype: "date", formatter: "date",
formatoptions: { srcformat: "U/1000", newformat: "m/d/Y H:i:s" },
searchoptions: { sopt: [ "eq", "ne", "lt", "le", "gt", "ge" ] },
editoptions: { sopt: [ "eq", "ne", "lt", "le", "gt", "ge" ] },
searchrules: { date: true }
}
}
});
после этого вы можете использовать template: "dateType"
недвижимость в colModel
, Таким образом, вы можете определить много разных типов, которые все используют один и тот же форматер. Более того, у вас будет действительно читабельный colModel
который можно очень легко поддерживать. Вы можете включить свойства как width
который вы можете перезаписать в colModel
, Таким образом, вы можете указать более лучшие значения по умолчанию для некоторых свойств, но вы можете сохранять ту же гибкость, что и раньше. Если я проверю код демо, которое вы разместили, я думаю, что шаблоны столбцов будут очень полезны для вас.