2011-10-17 54 views
4

嗨,我有兩個MVC Telerik網格顯示在一個視圖。Telerik MVC網格刷新與jQuery功能

每個網格有一個自定義列與編輯鏈接

當用戶點擊編輯鏈接對話框模型將與窗體後用戶點擊保存按鈕彈出。 以下腳本將運行

function OpenStopForm() { 

    $("#dialog:ui-dialog").dialog("destroy"); 
    $("#dialog-model").dialog({ 
     height: 220, 
     width: 340, 
     modal: true, 
     buttons: { 
      "Save": function() { 
       var note = $('textarea[name=StopNote]').val(); 
       $.ajax({ 
        type: "POST", 
        url: "/Medication/StopMedication", 
        data: { ID: pid, StopNote: note }, 
        dataType: "json", 
        success: refreshGrid() 
       }); 
       $(this).dialog("close"); 
      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 
     } 
    }); 

} 

上面的函數運行成功後,
我想Telerik的複合網格某種Ajax調用刷新兩個。
我打電話,雖然這樣
成功的函數:refreshGrid

function refreshGrid() { 
    $('#CurrentMedication').data('t-grid').ajaxRequest(); 
} 

但在執行我的控制器動作之前refreshGrid函數被調用。
我希望在我的控制器動作完成後調用該函數。

我不確定我的語法是否正確!

我試圖做一些事情從here

任何一個可以幫助我如何在Ajax的崗位上取得成功調用refreshgrid功能。 也請糾正我與我的功能刷新網格。

回答

10

我已經修改了我的Ajax調用如下

$.ajax({ 
       type: "POST", 
       url: "/Medication/StopMedication", 
       data: { ID: pid, StopNote: note }, 
       dataType: "text", 
       success: function (data) { 
       refreshGrid(); 
       } 
      }) 

我刷新電網是這樣

function refreshGrid() { 
$(".t-grid .t-refresh").trigger('click'); 
} 
+0

telerik網格可以讓您在頂部和底部放置一個刷新按鈕。如果你兩個都啓用了,那麼你會得到每個網格的兩個刷新調用。我只有一個網格,但需要此功能並通過使用找到的第一個對象來解決它:$(「.t-grid .t-refresh」)。first()。trigger('click');這樣網格將刷新一次而不是兩次。但是,如果你有兩個網格(就像OP那樣),那麼你將不得不進一步限定選擇器。這個答案是讓我的頁面運行的關鍵。謝謝! –

0

如果有人在找這個,有一個小變化刷新應該被稱爲像

$(".k-grid .k-pager-refresh").trigger('click');