2010-06-07 2 views
2

Есть ли способ в jqgrid иметь изменяемый столбец, который использует отборный как в этом примере colModel:jqGrid: Редактируемый столбец, который всегда показывает избранные

{ 
name: 'Options', 
index: 'Options', 
width: 150, 
align: 'left', 
resizable: false, 
editable: true, 
edittype: 'select', 
editoptions: { 
    value: function() { return buildSelect(); } 
}, 
formatter: 'select' 
} 

но всегда показывает выбор?

У меня есть эта работа с флажками, но, похоже, нет способа сделать это при выборе. В идеале я бы хотел, чтобы это работало в режиме celledit. Есть идеи?

ответ

4

Все возможно. Я не уверен, что вы хотите, это лучший способ. В большинстве случаев я рекомендую использовать какой-то стандартный способ, тогда ваша жизнь будет проще, особенно после перехода на новую версию используемого вами элемента управления.

Тем не менее вы можете использовать пользовательский форматтер (см. http://www.trirand.com/jqgridwiki/doku.php?id=wiki:custom_formatter) вместо formatter: 'select', чтобы показать содержимое столбца, как вы предпочитаете. Например,

{ name: 'Options', width: 150, align: 'left', editable: true, edittype: 'select', 
    editoptions: { 
    value: function() { return buildSelect(); } 
    }, 
    formatter: function (cellvalue, options, rowObject, action) { 
    if (cellvalue === 'Yes') { 
     return '<select><option value="1" selected="selected">Yes</option>' + 
        '<option value="0">No</option></select>'; 
    } else { 
     return '<select><option value="1">Yes</option>' + 
        '<option value="0" selected="selected">No</option></select>'; 
    } 
    } 
} 

может быть использован для отображения select с «Да» и «Нет» значения вместо используемого по умолчанию один значение тока («Да» или «Нет»). Вы также можете связать некоторую функцию для дескриптора change таких элементов select.

+0

Отличный материал. Пятно на. Должен ли я сделать редактирование ячейки (и использовать editoptions) или сетка сохранит выбранное значение из раскрывающегося списка, созданного в пользовательском форматировании? – Nigel

+0

Пользовательский форматтер отображает только данные. Чтобы иметь возможность изменять данные и сохранять измененное значение на сервере, вы должны использовать любой режим редактирования (редактирование ячейки/встроенное редактирование или редактирование формы), см. Http://www.trirand.com/jqgridwiki/doku.php?id= вики: jqgriddocs # редактирование. – Oleg

Смежные вопросы