#jquery #jqgrid
#jquery #jqgrid
Вопрос:
у меня есть следующий jqGrid
$("#proposalsTable").jqGrid({
url: url,
datatype: 'json',
mtype: 'GET',
altRows: false,
colNames: ['Model', 'Model Year', 'Cabinet', 'Shell', 'Customer', 'Designed By', 'Date'],
colModel: [
{ name: 'Model', index: 'Model', align: 'left' },
{ name: 'ModelYear', index: 'ModelYear', align: 'left' },
{ name: 'CabinetColor', index: 'CabinetColor', align: 'left' },
{ name: 'ShellColor', index: 'ShellColor', align: 'left' },
{ name: 'CustomerName', index: 'CustomerName', align: 'left' },
{ name: 'DesignedBy', index: 'DesignedBy', align: 'left' },
{ name: 'ProposalDate', index: 'ProposalDate', align: 'left' },
],
pager: jQuery("#proposalsPager"),
rowNum: 50,
rowList: [50, 75, 100],
sortname: 'ProposalDate',
sortorder: "desc",
viewrecords: true,
height: '700px',
multiselect: true,
autowidth: true,
shrinkToFit: true
});
Когда я просматриваю и устанавливаю флажки, флажок установлен, и цвет строки показывает, что он выбран… Но если я вернусь и просто нажму на строку (не на флажок) Цвет строки показывает, что она не выбрана, но флажок остается установленным.
Если я запущу код, чтобы проверить, действительно ли на этом этапе проверяются. Это не так. Но когда я возвращаюсь назад и устанавливаю флажки, строки отменяются, и хотя флажок показывает флажок .. Но сетка считает, что строки не выбраны, если я запускаю код, чтобы посмотреть на это. Очень, очень, очень странно.
Как я могу либо заставить щелчки по строкам ничего не делать, либо убедиться, что они действительно снимают флажки.
Я надеюсь, что это имеет смысл.
Спасибо!
Комментарии:
1. Я обнаружил проблему и просто хотел поделиться ею здесь для всех остальных. Я заставил его использовать jquery 1.4.4 <script src=» ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js «type=»text / javascript»></script> Вместо получения последней версии Это устранило проблему, с которой я столкнулся выше..
Ответ №1:
Мой подход заключался бы в реализации функции в ваших настройках для переопределения onSelectRow
события. Для этого требуется идентификатор строки и аргумент состояния.
Оттуда вы можете манипулировать строкой на основе rowId.
Смотрите http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events подробнее о доступных событиях и о том, как их переопределить. ПРИМЕЧАНИЕ: если вы переопределяете и возвращаете false, обработчик событий по умолчанию не запускается.
Ответ №2:
Я обнаружил проблему и просто хотел поделиться ею здесь для всех остальных.
Я заставил его использовать jquery 1.4.4
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js" type="text/javascript"></script>
Вместо получения последней версии
Это устранило проблему, с которой я столкнулся выше.