2012-12-03 55 views
2

我有兩個jqxgrids都來自同一地點,並使用相同的dataAdapter來獲取數據。一個網格具有可過濾的列。我無法弄清楚如何強制第二個網格自動重新過濾,當用戶在第一個輸入一些過濾文本。有沒有人這樣做,或者甚至可以不必創建自定義過濾器?如何根據第一個過濾條件過濾第二個jqxgrid?

回答

1

使用'getfilterinformation',你可以得到jqxGrid的過濾器,條件和值。 getfilterinformation返回一個過濾器數組。陣列中的每個項目都有以下字段:

  • filter - 這是列的過濾器。您可以將過濾器視爲一組過濾器,因爲某列可能有多個應用過濾器。通過調用filter.getfilters(),您可以獲得應用於列的所有過濾器。過濾器組中的每個過濾器都有{value,condition,operator和type},其中value是過濾器的值,condition是ex:「Contains」,操作符可以是「and」或「or」,類型表示過濾器的類型(stringfilter,datefilter等)。

  • 過濾列的數據字段。

然後,您可以將過濾器應用於網格實例作爲此示例所示:customfiltering.htm

+0

感謝。我絕對可以這樣做,而且確實做到了。將代碼放在第一個網格的過濾器函數中,然後將過濾器應用到其他網絡上非常簡單。我很好奇,是否有一些自動化的魔法可以讓它自行發生。如果沒有人能儘快提出,我會接受你的答案。 –

0

您可以綁定到第一網格的filter事件的方法。由於API中規定:

$("#jqxGrid").on("filter", function (event) { 
    var filterinfo = $("#jqxgrid").jqxGrid('getfilterinformation'); 
    // then iterate through the filters applied to the 1st grid, and 
    // write the appropriate codes to apply the same filters to the 2nd grid 
}); 

HTH :)

相關問題