Поскольку jqGrid 3.8.2 поддерживает шаблоны столбцов.
Вы можете просто определить, например,
var compliancestatus = {
width: 80,
align: 'center',
stype: "select",
searchoptions: { value: "1:Compliant;0:Not Compliant" }
};
где-то в области видимости, а затем просто используйте в colModel
{ name: 'ABC', template: compliancestatus }
В шаблоне вы можете включить любые параметры. Если определение столбца имеет то же свойство, но с таким же значением, как
{ name: 'ABC', width: 100, template: compliancestatus }
будет использоваться значение из colModel
(width: 100
в случае).
Я предложил эту функцию некоторое время назад, и я сам интенсивно ее использую. Например, у меня есть много сеток, имеющих много столбцов с флажками. Я использую следующий шаблон в случае:
mySettings.templateCheckbox = {
formatter: 'checkbox', align: 'center', width: 20,
edittype: 'checkbox', editoptions: { value: "1:0" },
stype: "select", searchoptions: { sopt: ['eq', 'ne'], value: ":Any;1:Yes;0:No" }
};
Таким же образом я определил много других шаблонов, которые уменьшают код сетки и улучшают управление общим стилем сетки.
Если вы хотите изменить некоторые общие настройки по умолчанию для всех столбцов, вы можете использовать cmTemplate
параметр jqGrid. Например
cmTemplate: { align: 'center' }
Вы можете использовать его как дополнительный параметр jqGrid или установить его как любой другой параметр по умолчанию с учетом
$.extend($.jgrid.defaults, {
cmTemplate: { align: 'center' }
});
Подробнее о шаблонах столбцов здесь .