2012-04-26 129 views

回答

0

的刷新按鈕的CSS是ui-icon-refresh

所以你可以寫你的自定義代碼這個CSS像

jQuery('.ui-icon-refresh').click(function(){ 
    // do your work 
}); 
17

如果你需要做一些動作之前刷新將被啓動,你應該使用beforeRefresh回調:

$("#grid_id").jqGrid('navGrid', '#gridpager', { 
    beforeRefresh: function() { 
     // some code here 
    } 
}); 

如果您需要絕對的另一個實現o ˚F網格刷新,你不會打電話$("#grid_id").trigger("reloadGrid");(這聽起來很奇怪),你可以通過refresh: false選項刪除標準刷新按鈕的使用做到這一點,利用navButtonAdd添加自定義按鈕,長相酷似原來的一個:

$("#grid_id").jqGrid('navGrid', '#gridpager', {refresh: false}); 
$("#grid_id").jqGrid('navButtonAdd', "#gridpager", { 
    caption: "", title: "Reload Grid", buttonicon: "ui-icon-refresh", 
    onClickButton: function() { 
     alert('"Refresh" button is clicked!'); 
    } 
}); 
+0

謝謝!我也需要它。即使我將** cloneToTop **設置爲_true_,這也不會將圖標克隆到頂部導航欄。我在網格上自定義保存實現,並在外部按鈕單擊時將所有更改推送到服務器。當他們嘗試使用刷新圖標重新加載網格時,我需要此實現來警告用戶任何未保存的更改(並且可能會停止_refresh_,具體取決於響應)。我沒有得到任何選擇** beforeRefresh **函數停止刷新網格...奇怪! – justcurious 2012-04-26 18:20:40

+1

@justcurious:不客氣!我瞭解您停止刷新過程的問題。你可以做的是使用'beforeRequest'回調。如果你從回調中返回false,你可以停止刷新。例如,如果您使用分頁數據,並且用戶單擊列分類,則可能會出現與刷新相同的問題。 'beforeRequest'的用法在我看來可能是這類問題的解決方案。如果你有兩個尋呼機,並且想要給這兩個尋呼機添加一些按鈕,你應該只需調用'navButtonAdd'兩次(見[答案](http://stackoverflow.com/a/8450272/315935))。 – Oleg 2012-04-26 18:26:06

+0

甜..這是一個快速回復!你的想法都很好。謝謝! – justcurious 2012-04-26 18:41:40