會它在所有可能以顯示當前應用的濾波器參數如標題欄中追加到主標題描述字符串在標題欄的jqGrid顯示過濾器詳細
即
「客戶 - [字段1 ='ABC'和Field2 ='CDE']「
找不到可應用過濾器時掛鉤的事件?
會它在所有可能以顯示當前應用的濾波器參數如標題欄中追加到主標題描述字符串在標題欄的jqGrid顯示過濾器詳細
即
「客戶 - [字段1 ='ABC'和Field2 ='CDE']「
找不到可應用過濾器時掛鉤的事件?
嘗試掛鉤afterShowSearch事件,您將更新網格標題。從文檔:
此事件(如定義)顯示在搜索對話框後
我發現你並不真的需要有搜索後的事件每次。在每個搜索請求中,網格中的數據將被重新加載。所以你可以使用像beforeRequest
,loadBeforeSend
,serializeGridData
,gridComplete
或loadComplete
這樣的事件。
從您的標題示例我可以假設您使用「高級搜索」。我只想證明了可行的解決方案的主要思想,所以我選用loadComplete
實現捕獲變化:
jQuery('#list').jqGrid({
// ...
loadComplete: function(data) {
var postData = jQuery('#list').getGridParam("postData");
var newCapture = "Title";
if (postData._search === true && typeof postData.filters !== "undefined") {
var filters = jQuery.parseJSON(postData.filters);
newCapture = "Title: [";
var rules = filters.rules;
for (var i=0; i<rules.length; i++) {
var rule = rules[i];
var op = rule.op; // the code name of the operation
if (jQuery.fn.searchFilter && jQuery.fn.searchFilter.defaults &&
jQuery.fn.searchFilter.defaults.operators) {
// find op description
var operators = jQuery.fn.searchFilter.defaults.operators;
for (var j=0; j<operators.length; j++) {
if (operators[j].op === rule.op) {
op = operators[j].text;
//op = $.jgrid.search.odata[j];
break;
}
}
}
newCapture += rule.field + " " + op + " '" + rule.data + "'";
if (i+1 !== rules.length)
newCapture += ", ";
}
newCapture += "]";
}
jQuery('#list').setCaption(newCapture);
}
});
如果不使用「高級搜索」,你應該searchField
,searchOper
和searchString
,而不是filters
到建立基於搜索食堂的網格標題。
目前在這個例子中,我沒有使用本地化名稱進行操作,但很明顯,可以做到這一點。
@Oleg - 很好的解決方案。我不明白你最後評論我如何在標題欄中包含工具欄搜索標準。它似乎像工具欄搜索只是將實際的字段和值添加到發佈數據。因此,如果我在名爲Description的描述字段上搜索「test」,我只會在postdata中看到一個名爲Description的元素,其值爲「test」。我沒有看到任何「searchField」,「searchOper」和「searchString」。另外,你會如何支持多個工具欄的搜索? – leora 2011-03-11 11:15:41
@Oleg - 關於我上面的評論的任何想法? – leora 2011-03-11 18:08:44
@ooo:當前代碼將文本「標題:[...]放置在網格捕捉中。文本」標題「是英文的,因此它不是本地化的。[']'中的文本包含本地化文本,如德語中的「beginnt mit」,而不是英語中的「beginning with」。在最後一句中,我解釋說可以編寫代碼,選擇「標題」也與語言相對應。使用相應列的列標題如果將代碼包含在一個網格中,您將看到我的意思 – Oleg 2011-03-11 19:11:52
但是,當你使用toolbarSearch時會觸發嗎? – 2010-07-08 15:45:32
啊......不,不。在這種情況下,請查看'afterSearch',來自:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:toolbar_searching – 2010-07-08 15:55:22