是否可以动态关闭或打开 Jqgrid 列搜索?
Is it possible to dynamically close or open a Jqgrid column search?
是否可以在加载Jgrid后打开和关闭某些栏目的搜索功能?
底层代码允许隐藏搜索部分,但不影响搜索功能
隐藏起来效果很好,但我还没有找到显示它需要做的事情
此代码不影响搜索功能
我要影响搜索
$("#gs_name").closest(".ui-search-table").hide();
更新
客户名称列中的所需组合
search = hidden -> search = false
搜索 = 显示 -> 搜索 = 真
$("#columnhide").click(function(){
$("#gs_name").val("")
$("#gs_name").closest(".ui-search-table").toggle();
});
如果我正确理解了您需要实施的内容,那么 http://jsfiddle.net/OlegKi/ejnrtocw/270/ 将演示您可以做什么。代码使用
$("#columnhide").click(function(){
var $searchField = $("#gs_name");
$searchField.val(""); // clear the filter
$searchField.closest(".ui-search-table").toggle(); // hide or show the control
$(this).html("<b>" + ($searchField.is(":hidden") ? "Show" : "Hide") +
"</b> Client Name Search");
$("#grid")[0].triggerToolbar(); // force filtering without a filter in "name" field
});
另外修改``回调的代码如下
ondblClickRow: function(rowid, iRow, iCol, e) {
var $grid = $(this),
cm = $grid.jqGrid("getGridParam", "colModel"),
cellvalue = $grid.jqGrid("getCell", rowid, iCol),
$searchField = $("#gs_" + cm[iCol].name);
if (!$searchField.is(":hidden")) {
$searchField.val(cellvalue);
this.triggerToolbar();
}
}
This code searches its data if the column is clicked
ondblClickRow: function(rowid, iRow, iCol, e) {
var $grid = $(this),
cm = $grid.jqGrid("getGridParam", "colModel"),
cellvalue = $grid.jqGrid("getCell", rowid, iCol),
$searchField = $("#gs_" + cm[iCol].name);
if (!$searchField.is(":hidden")) {
$searchField.val(cellvalue);
this.triggerToolbar();
}
},
检索到所有列
ondblClickRow: function(rowid, iRow, iCol, e) {
var grid=$('#grid');
var cm = $(this).jqGrid("getGridParam", "colModel");
var cmvalues = $(this).jqGrid("getRowData", rowid);
$.each(cm, function(i,n){
if(!n.hidden) {
$('#gs_'+n.name).val( cmvalues[n.name])
}
});
this.triggerToolbar();
},
我无法根据第二个密码设置第一个密码!
我要双击搜索所有列数据
这对于实用过滤器很重要
我想通过双击在所有区域进行搜索,但我绝不会在隐藏列中进行搜索!
双击隐藏的属性是colModel的一个属性。在您的情况下,您应该使用 jquery selector :hidden 来完成这项工作。
代码可以这样改:
ondblClickRow: function(rowid, iRow, iCol, e) {
var cm = $(this).jqGrid("getGridParam", "colModel");
var cmvalues = $(this).jqGrid("getRowData", rowid);
$.each(cm, function(i,n){
if(!n.hidden) {
var elem = $('#gs_'+n.name);
if( elem.is(":hidden") {
// set it to empty to overcome search when trigger
elem.val("");
} else {
elem.val( cmvalues[n.name]);
}
}
});
this.triggerToolbar();
},
是否可以在加载Jgrid后打开和关闭某些栏目的搜索功能?
底层代码允许隐藏搜索部分,但不影响搜索功能
隐藏起来效果很好,但我还没有找到显示它需要做的事情
此代码不影响搜索功能
我要影响搜索
$("#gs_name").closest(".ui-search-table").hide();
更新
客户名称列中的所需组合
search = hidden -> search = false
搜索 = 显示 -> 搜索 = 真
$("#columnhide").click(function(){
$("#gs_name").val("")
$("#gs_name").closest(".ui-search-table").toggle();
});
如果我正确理解了您需要实施的内容,那么 http://jsfiddle.net/OlegKi/ejnrtocw/270/ 将演示您可以做什么。代码使用
$("#columnhide").click(function(){
var $searchField = $("#gs_name");
$searchField.val(""); // clear the filter
$searchField.closest(".ui-search-table").toggle(); // hide or show the control
$(this).html("<b>" + ($searchField.is(":hidden") ? "Show" : "Hide") +
"</b> Client Name Search");
$("#grid")[0].triggerToolbar(); // force filtering without a filter in "name" field
});
另外修改``回调的代码如下
ondblClickRow: function(rowid, iRow, iCol, e) {
var $grid = $(this),
cm = $grid.jqGrid("getGridParam", "colModel"),
cellvalue = $grid.jqGrid("getCell", rowid, iCol),
$searchField = $("#gs_" + cm[iCol].name);
if (!$searchField.is(":hidden")) {
$searchField.val(cellvalue);
this.triggerToolbar();
}
}
This code searches its data if the column is clicked
ondblClickRow: function(rowid, iRow, iCol, e) {
var $grid = $(this),
cm = $grid.jqGrid("getGridParam", "colModel"),
cellvalue = $grid.jqGrid("getCell", rowid, iCol),
$searchField = $("#gs_" + cm[iCol].name);
if (!$searchField.is(":hidden")) {
$searchField.val(cellvalue);
this.triggerToolbar();
}
},
检索到所有列
ondblClickRow: function(rowid, iRow, iCol, e) {
var grid=$('#grid');
var cm = $(this).jqGrid("getGridParam", "colModel");
var cmvalues = $(this).jqGrid("getRowData", rowid);
$.each(cm, function(i,n){
if(!n.hidden) {
$('#gs_'+n.name).val( cmvalues[n.name])
}
});
this.triggerToolbar();
},
我无法根据第二个密码设置第一个密码!
我要双击搜索所有列数据
这对于实用过滤器很重要
我想通过双击在所有区域进行搜索,但我绝不会在隐藏列中进行搜索!
双击隐藏的属性是colModel的一个属性。在您的情况下,您应该使用 jquery selector :hidden 来完成这项工作。
代码可以这样改:
ondblClickRow: function(rowid, iRow, iCol, e) {
var cm = $(this).jqGrid("getGridParam", "colModel");
var cmvalues = $(this).jqGrid("getRowData", rowid);
$.each(cm, function(i,n){
if(!n.hidden) {
var elem = $('#gs_'+n.name);
if( elem.is(":hidden") {
// set it to empty to overcome search when trigger
elem.val("");
} else {
elem.val( cmvalues[n.name]);
}
}
});
this.triggerToolbar();
},