English 中文(简体)
在搜索窗体( 多个搜索) 中覆盖数据下调值
原标题:Overwrite data dropdown values in search form (multipleSearch)
  • 时间:2012-05-22 12:25:37
  •  标签:
  • jqgrid

我有一个像这样的 colModel 条目 :

{name: status , index: status , sorttype:"text", xmlmap:"STATUS", width:"90", stype:  select , searchoptions:{sopt: [ eq , ne ], value: :all;Hold:Hold;4-Eye-Check:4-Eye-Check;Approved:Approved;Rejected:Rejected;Closed:Closed }},

只要它在过滤器工具栏中使用, 效果就很好, 但如果我打开 NavGridSearch Im 遇到麻烦。 条目“ 所有” 不再有效 。 过滤器工具栏中的查询似乎忽略了我的空, 但 NavGridSearch 却忽略了我空的 。

是否有任何通配符符号可以使用, 而不是空字符串, 它会传递所有条目, 无论我是否在过滤器工具栏或 NavGridSearch 中搜索所有状态条目?

我使用最新的开放源代码 jQGrid Lib(4.3.2) 。

提前感谢!

最佳回答

我试图理解所有标准的使用选项 。 似乎所有标准的目的都在于您希望网格忽略此搜索标准, 并返回所有行, 而不考虑这个值 。 如果是这样的话, 为什么用户甚至想要选择这个搜索标准 - 他们可以直接删除它, 并实现同样的效果 。 或者我漏掉了什么?


Update

网格使用函数 createEl: 函数( eltype, options, vl, autowidth, ajaxso) 来创建搜索表格的选择。 不幸的是, 此选择总是向列表添加 all 标准, 即使它有 < code> " 的搜索值, 也不能匹配任何行 。 一种变通办法是修改网格以跳过具有空值的选择选项。 您可以使用源文件 < code> jquery.jqGrid.rc.js 添加以下代码来跳过 < code> all 选项 :

else if (sv.length > 1 && sv[0].length === 0) continue;

这是在 createEl 的上下文中:

                if(typeof options.value ===  string ) {
                    so = options.value.split(delim);
                    for(i=0; i<so.length;i++){
                        sv = so[i].split(sep);
                        if(sv.length > 2 ) {
                            sv[1] = $.map(sv,function(n,ii){if(ii>0) { return n;} }).join(sep);
                        } else if (sv.length > 1 && sv[0].length === 0) continue; // <-- Change this line
                        ov = document.createElement("option");
                        ov.setAttribute("role","option");
                        ov.value = sv[0]; ov.innerHTML = sv[1];
                        elem.appendChild(ov);
                        if (!msl &&  ($.trim(sv[0]) == $.trim(vl) || $.trim(sv[1]) == $.trim(vl))) { ov.selected ="selected"; }
                        if (msl && ($.inArray($.trim(sv[1]), ovm)>-1 || $.inArray($.trim(sv[0]), ovm)>-1)) {ov.selected ="selected";}
                    }

如果您需要简化版本, 请更新 jqGrid 的“ src” 版本, 然后通过 Google 关闭编译器运行 。

我不确定这是一般目的的改变,这就是为什么我称它为现在的工作。 更长远地说,需要找到更好的解决方案,这样jqGrid才能补好...我会在以后再找一些时间来重新讨论这个问题。

那有帮助吗?

问题回答

暂无回答




相关问题
Retrieving original row data from jqGrid

It is possible to use the getRowData method to retrieve the current of a cell but this retrieves the current cell content rather than the original data before it went through the formatter. How do I ...

How to programmatically select top row of JQGrid?

How does one programmatically select the top row of a JQGrid. I want to have the top row already selected when it is opened on the page. My grid is sorted by a descriptive column so the first row s id ...

Blank when NaN in jqGrid cells

How to set blank instead of NaN in jqGrid cells ? Using formatter ? Is there an example?

complete jqGrid?

Please, can anyone tell me how to use jqGrid? I want to do edit, add & delete functionality. Also I want to show an image in the grid Please tell me, what can I do, and how can I do?

jqGrid: is there an event for when columns are reordered?

I m using the column reordering feature in jqGrid $grid = jQuery("#list").jqGrid({ sortable:true, ... }); Is there an event that fires after columns are re-ordered? If there is, I can t see ...

Wrapping Text lines in JqGrid

Can you get lines of text to wrap in JqGrid? I have had a look round but i can t find anything.

using jqgrid style for usual Table in asp.net mvc

I d prefer using Table and td instead of JqGrid but i like JqGrid styles. has anyone used jqgrid style for usual Grid of asp.net MVC(i mean Table and td) before?