jqGrid editotype: 'select, formatter:' select 'не работает - PullRequest
4 голосов
/ 09 марта 2012

Я использую JSON для получения значений для элемента select.
my colModel:

{ name: 'position', editable: true, edittype: "select", formatter:'select',
    editoptions: {
        value: function() {
            var positions;
            $.ajax({
                url: "orthofixServices.asmx/GetPositionsList",
                data: "{}",
                async: false,
                success: function(data) {
                    positions = data.d;
                },
                error: function(XMLHttpRequest, textStatus, errorThrown) {
                    alert(textStatus);
                }
             });
            return positions;
        }

это ответ:

{
    "d": {
        "21": "CAP Pos 1",
        "41": "CAP Pos 2",
        "42": "CAP Pos 3"
    }
}

строка, отправленная обратно с сервера для привязки к сетке:

{
    "d": {
        "page": 1,
        "total": 1,
        "records": 1,
        "rows": [
            {
                "id": 9,
                "name": "Julio",
                "nameid": 0,
                "title": "Doctor",
                "npi": "123-123",
                "license": "licabc",
                "licstate": "NV",
                "position": "41",
                "us": false,
                "hrate": 0,
                "rrate": 0
            }
        ]
    }
}

"позиция" - это поле из строки, которая питает элемент select.После сохранения строки ничего не отображается на сетке.Зачем?Должен ли я сохранить ключ от выбора как Int или String.Это имеет значение?Я попробовал оба способа, которые мне никогда не удастся отобразить в сетке для элемента select.Должно отображаться: "CAP Pos 42"

Ответы [ 2 ]

1 голос
/ 16 сентября 2013

Простой печальный факт заключается в том, что

formatter:'select',  editoptions: { value: function() { ...

не реализовано jqGrid. Исходный код $.unformat.select просто не обрабатывает этот случай. Просто преобразуйте данные в массив и передайте их функции через value, чтобы получить тот же эффект.

1 голос
/ 10 марта 2012

Я бы порекомендовал вам использовать dataUrl и buildSelect свойства editoptions . Кроме того, вам придется установить некоторые свойства опции ajaxSelectOptions jqGrid.

См. здесь , здесь и здесь для примеров использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...