2013-06-24 3 views
0

Am using Jqgrid MultiSelect Опция.Динамическое добавление и удаление свойства JqGrid

он работал отлично. Возможно ли, что это свойство задано динамически?

Например: Я нажимаю кнопку, тогда свойство multi Select должно быть включено до тех пор, пока это не будет показано пользователю.

Как реализовать это в JqGrid?

Благодаря

ответ

0

Вы можете использовать этот бит кода:

var myGrid = $("#grid_name"); 
    $("#cb_"+myGrid[0].id).hide(); 

и показать ему

var myGrid = $("#grid_name"); 
    $("#cb_"+myGrid[0].id).show(); 

, если вы хотите, чтобы скрыть все флажки для каждой строки:

$("input[name^='jqg_']").each(function() { 
     $(this).hide(); 
    }); 

и показать его :

$("input[name^='jqg_']").each(function() { 
     $(this).show(); 
    }); 

Я подготовил для вас fiddle.
Надеюсь, это поможет.

+0

мой вопрос был А.Б. Весь CheckBox Column не только заголовок часть! Спасибо за вашу скрипку – user2067567

+0

@ user2067567: обновленный ответ. – LeftyX

+0

@LeftyX: Скрытие chechboxes не изменяет многозадачное поведение jqGrid. Если вы нажмете на одну строку, а затем на другую, вы по-прежнему будете иметь многосегментное поведение. Вы должны изменить значение опции «multiselect» для jqGrid, чтобы иметь стиль одного выбора. Если вы нажмете кнопку «Обновить сетку» на панели навигации, отсортируйте столбец или измените номер страницы (щелкните на следующей странице), вы увидите начальную сетку «multiselect: true». Поэтому нужно сделать немного больше. – Oleg

2

jqGrid не поддерживает динамическое создание столбцов. Таким образом, вы не можете включить опцию multiselect: true без воссоздания сетки (см. the answer).

Если вы готовы к экспериментам, вы можете следовать моим предложениям от the answer, которые описывают, как можно реализовать эту функцию с некоторыми ограничениями.

ОБНОВЛЕНО: Мой предыдущий ответ старый. Если вы используете jQuery версии 1.8 или выше, вам необходимо изменить строку events = $grid.data("events"); на events = $._data($grid[0], "events"); на подкласс reloadGrid. См. Исправленную демо-версию here.

0

да, вы можете сделать, как этот

if(true) 
    $("#GridID").jqGrid('setGridParam',{multiselect:true}); 
else 
    $("#GridID").jqGrid('setGridParam',{multiselect:false}); 
+0

где вы это называете? на кнопке Click? – user2067567

+0

Да, вы можете нажать на кнопку – Manish

+0

, но флажок не будет удален, а его функция выбора строки. – Manish