У меня довольно сложная сетка с двумя столбцами, отформатированными как флажок. Эти столбцы определены следующим образом:
{ name: 'Alert_A', index: 'Alert_A', width: 22, align: 'center', sortable: false,
formatter: CheckBoxFormatter, editable: true, edittype: 'checkbox', editoptions: {value: "True:False"},
formatoptions: {disabled: false}, classes: "Alert_A" },
{ name: 'Alert_B', index: 'Alert_B', width: 22, align: 'center', sortable: false,
formatter: CheckBoxFormatter, editable: true, edittype: 'checkbox', editoptions: { value: "True:False" },
formatoptions: {disabled: false}, classes: "Alert_B" }
Настраиваемый форматер CheckBoxFormatter
необходим, потому что мне нужно настроить атрибут отключен для каждого флажка в зависимости от некоторых пользовательских правил, поэтому я позаимствовал собственный форматер 'checkbox' и добавил свои пользовательские правила.
У меня также есть внешний элемент кнопки html, и когда я нажимаю на него, мне нужно выполнить некоторый код в зависимости от того, какая комбинация выбора флажков была сделана. Мой код выглядит так:
$('#btnAlert').button().click(function (event) {
event.preventDefault();
var dashboardID = '#<%=dashboard.ClientID %>';
doWork(dashboardID);
});
и позже doWork
функция
var keys = $(dashboardID).getDataIDs();
for (var i = 0; i < keys.length; i++) {
var rowData = $(dashboardID).getRowData(keys[i]);
...
var reminderA = $(rowData.Alert_A).is(":checked");
var reminderB = $(rowData.Alert_B).is(":checked");
...
... other application logic here
}
К сожалению, я испытываю тот факт, что значение переменных reminderA
и reminderB
не отражает точное состояние флажков, а вместо этого всегда отражает состояние их начальных значений (например, когда они были загружены плагин jqgrid). Другими словами, эти значения не обновляются, когда пользователь нажимает на флажок в сетке.
Это правильный путь для достижения моего результата, или я должен использовать другой код? Любая помощь?
Большое спасибо!