2011-06-03 72 views
1

所以,在我的ASP.NET MVC 3應用程序中,我已經有了jqGrids的頁面。我已經定製了搜索行動在每列的基礎,像這樣:我可以根據每列自定義jqGrid搜索選項上的文本嗎?

colModel: [ 
    { name: 'IceCreamName', index: 'IceCreamName', align: 'left', 
    searchoptions: {sopt: ['eq', 'ne', 'cn']} }, 
. 
. 
. 
    { name: 'InitialDate', index: 'InitialDate', align: 'left', 
    searchoptions: {sopt: ['eq', 'ne', 'gt', 'lt', 'ge', 'le']} }, 
    { name: 'Volume', index: 'Volume', align: 'left', 
    searchoptions: {sopt: ['eq', 'ne', 'gt', 'lt', 'ge', 'le']} } 

] 

這會給我,在這個例子中,平等,NotEqual,包含上的名字,和平等,NotEqual,GREATERTHAN, LessThan,GreaterThanOrEqual和LessThanOrEqual在日期和卷列上。精彩。這種定製非常棒。

我特別想要做的是自定義顯示在這些列的搜索操作下拉菜單中的字符串。例如,對於所述InitalDate柱,我想要「GT」代替「大」(更有意義給用戶)「後」,以顯示和類似「或之前」而不是「少或相等「。

我看到,我可以在grid.locale-en.js全球範圍內修改這些(或者其他場所是正確的),但是這是在全球範圍內。我希望日期和音量列具有特定於這些列的字符串。

任何方式來做到這一點?也許我錯過了關於如何實現這一目標的文檔。

回答

1

你不寫你使用哪個版本的jqGrid,所以我想你使用的是最後的4.0.0版本的jqGrid。

沒有jqGrid選項可以使搜索對話框如你所想。我發現你的問題很有趣,所以我擴展了我的thisthis舊答案的代碼,以便它能滿足你的需要。

The demo使用的jqGrid其中 'invdate' 列( '日期' 欄)具有與searchoptions如下:

searchoptions:{sopt: ['eq', 'ne', 'gt', 'lt', 'ge', 'le'], 
       optDescriptions: {eq:'my eq', gt:'after', le:'on or before'}} 

optDescriptions是我的延伸。我使用搜索對話框的onInitializeSearch方法,其中我覆蓋了reDrawonchange過濾器對話框的方法,以便使用新的optDescriptions屬性。另外,在演示中,像以前的演示一樣,我不允許刪除第一個搜索規則並將焦點設置在最後一個輸入字段上。

我建議你把在the trirand forum新的功能要求,使每默認的jqGrid實現該功能。

+0

是的,它是4.0。我已經提交了功能請求,並會嘗試您的擴展。感謝您的迴應! – itsmatt 2011-06-04 20:23:57

+0

@itsmatt:不客氣! – Oleg 2011-06-04 21:13:33

相關問題