Я использую фильтр панели инструментов (в основном выберите выпадающие списки) и несколько расширенных фильтров. Это работает отлично, за исключением того, что если я программно установил несколько фильтров, а затем загрузил выпадающий список, он берет первую запись и преобразует текстовое поле в выпадающий список, и в раскрывающемся списке операций отображается только «Равно».
Проблема в том, что все остальные элементы будут по-прежнему отображать текстовые поля. вот картинка:
вы видите, как в первой строке выпадающий список, а в других строках есть текстовые поля. Если бы это работало правильно, все они были бы текстовыми полями. Кроме того, для операции по умолчанию не установлено значение «Равно»
Вот мой код:
При запуске я программно установил несколько фильтров:
var myfilter = { groupOp: "AND", rules: [] };
myfilter.rules.push({ field: "Status", op: "ne", data: "Completed" });
myfilter.rules.push({ field: "Status", op: "ne", data: "On Hold" });
myfilter.rules.push({ field: "Status", op: "ne", data: "Cancelled" });
[a bunch of code to initialize grid . . .]
postData: { filters: JSON.stringify(myfilter) },
Также вот colModel для столбца состояния:
{ name: "Status", index: "Status", width: 55, stype: 'select', searchoptions: { sopt: ['eq'], dataUrl: "/Project/StatusGetSelectData1"} },
затем все, что я делаю, я нажимаю на кнопку поиска (у меня есть множественный поиск: true )
Таким образом, поскольку столбец «Status» имеет тип style: «select», мне кажется, что в раскрывающемся списке операторов (который игнорирует цель предварительного фильтра) отображается только оператор «равный», а первый элемент в предварительном фильтре преобразуется. для выбора с элементами из выбора, но:
- Значение операции по умолчанию не равно "равно", как вы можете видеть, оно остается пустым
- Другие фильтры ниже НЕ конвертируются в выпадающие (они остаются текстовыми полями), а также по умолчанию не равны
Обновление:
Одна проблема исправлена, поскольку у меня не было 'ne' в настройке sopts для этого поля. теперь я вижу это:
Также, Олег ниже попросил посмотреть вывод DataUrl :. Олег, все, что я делаю - это получаю список значений и помещаю его в выпадающий список (см. Ниже)
<select>
<option value="">(None)</option>
<%
foreach (var pair in Model)
{
%><option value="<%= pair.Value %>"><%= pair.Value %></option>
<%
}
%></select>
Обновление:
Это теперь исправлено в jqGrid 4.0