我正在使用免费的jqGrid 4.14。我在网格中显示过滤器工具栏时遇到问题。我使用的是与我在4.1.2版本中显示过滤器工具栏时使用的相同代码 但这里工具栏没有出现。
我只需要在网格中单击过滤器图像时显示工具栏,否则它应该隐藏。所以,我在以前的版本中使用以下代码,但在新版本中也是如此 不工作
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:math ="http://www.w3.org/2005/xpath-functions/math"
extension-element-prefixes="math">
version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match = "root/module[start-with(@name, phase)]">
<xsl:variable name ="k" select ="0.0"=/>
<xsl:variable name = "angle" select ="math:cos(k)"/>
<theta x = "$angle">
</theta>
</xsl:template>
</xsl:stylesheet>
这里我隐藏或显示需要的栏
grid.jqGrid({
datatype: "jsonstring",
datastr: grid_data,
colNames: scopes.grid_header_column_value,
colModel: scopes.gridcolumns,
height: height,
viewrecords: is_pager_enable,
multiSort: true,
ignoreCase: true,
grouping: is_group_enable,
sortorder: sort_order,
sortable: false,
pager: "#" + pager_id,
treeGrid: true,
treeGridModel: 'adjacency',
treedatatype: "local",
ExpandColumn: 'name',
gridComplete: function () {
$("#" + grid_id+"count").html($("#" + grid_id).getGridParam('records')+" row(s)");
},
beforeSelectRow: function (rowid, e) {
var item = $(this).jqGrid("getLocalRow", rowid);
if (item != null && item.isLeaf) {
$("#"+$rootScope.subpopup).css("display", "block");
$scope.getPopup($rootScope.xmlname,grid_id,rowid);
}
return true; // allow row selection
},
loadComplete: function () {
var ts = this;
//document.querySelector('#filterbutton').addEventListener('onclick', clickqw);
if (ts.p.reccount === 0) {
$(this).hide();
emptyMsgDiv.show();
} else {
$(this).show();
emptyMsgDiv.hide();
}
}
});
grid.jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false, defaultSearch: "cn", searchOperators: true }).navGrid("#" + pager_id, { edit: false, add: false, del: false, refresh: true, search: false });
编辑:添加图片
这是未应用过滤器的图像。仅显示可应用滤波器的滤波器的图像(漏斗图像)。
这时,当我们点击过滤器的图像时,应该会出现过滤器栏。