我在网格上方放了一排按钮,在他们的onclick事件中将某些过滤器应用到网格中:
$('#myGrid').jqGrid("setGridParam",{
postData: {filters: myFilterArray},
search: true
}).trigger("reloadGrid");
我希望按钮显示相应查询在页面加载时返回的行数,然后单击它们(就像:“待处理:115”,“错误:238”等)。 到目前为止我发现这样做的唯一方法是在$(document).ready(function(){})中调用一个方法来应用每个按钮的过滤器,插入
的结果$('#myGrid').jqGrid('getGridParam', 'records');
使用jquery的.html()方法进入相应的按钮,再次使用postData:{filters:null}调用“setGridParam”并重新加载网格。
这非常慢,用户必须不必要地等待网格加载。有没有办法获得某个查询的结果计数而不实际应用它?
答案 0 :(得分:0)
所以你想要给定查询返回的行数,而不是网格实际出去,查询数据库,然后填充网格?
我能想到的唯一方法是在创建网格之前执行一些AJAX调用,然后将查询返回的计数追加到按钮文本中。
$.ajax({
url: 'countQuery.php', // not sure which language you are working in, but the file that will actually run the query and return the counts
dataType: 'json',
type: 'GET',
success: function (data) {
$("#buttonPending").text("Pending: " + data.pendingCount);
$("#buttonError").text("Error: " + data.errorCount);
}
});