jqGrid 4.8.0 - Как получить тип ячейки или значение ячейки, используя jsonmap

Я пытаюсь получить значение ячейки от onSelectRow событие.

Я могу добиться этого, используя:

celValue = $('#jqGrid').jqGrid ('getCell', rowid, 'id');

Два вопроса:

  1. Есть ли способ получить его с помощью 'jsonmap', и не 'name'?
  2. Есть ли способ узнать тип ячейки? (дата, число, целое число и т. д.)

Спасибо,

Таль.

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, Таким образом, вы можете указать более лучшие значения по умолчанию для некоторых свойств, но вы можете сохранять ту же гибкость, что и раньше. Если я проверю код демо, которое вы разместили, я думаю, что шаблоны столбцов будут очень полезны для вас.

Другие вопросы по тегам