В jqGrid есть ли способ использовать Ajax для получения данных для вашего custom_element? - PullRequest
1 голос
/ 14 февраля 2011

Я делаю что-то аналогично этому вопросу , где у меня есть список флажков в качестве пользовательского элемента управления для редактирования. Разница в том, что я хочу получить свой список с сервера (не жестко запрограммированный на клиенте с Check1, Check2, Check3 .

Есть ли способ сделать это либо в настройке столбца, либо в функции custom_element ?

Похоже, мне нужно что-то похожее на свойство dataUrl , которое вы используете для выбранных элементов, но, похоже, применяется только для выбранных элементов (не пользовательских).

Есть предложения?

1 Ответ

2 голосов
/ 14 февраля 2011

Вы можете использовать любую опцию list (точнее, editoptions) во время инициализации сетки, а затем перезаписать значение реальными данными, загруженными с сервера:

$("#list").jqGrid({
    colModel: [
        {name:'MyMultiCheck',edittype:'custom',
         editoptions:{custom_element:MultiCheckElem,
                      custom_value:MultiCheckVal,list:''}
        }
        ...
    ]
    ...
});
$.ajax({
    url:"getMultiCheckList",
    // any other parameters like dataType:'json',
    // type: 'POST' (default type is 'GET') which depend on the server
    success: function(data){
        // the code here depend on the format of data returned from the server
        // in the simplest situation we have as data already the comma-separated
        // string which we need as a value for the list parameter so we can do
        jQuery("#list").setColProp('MyMultiCheck',{editoptions:{list:data}});
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...