Обновить Telerik MVC Grid с помощью Ajax Call, после успешного вызова функции? - PullRequest
1 голос
/ 23 октября 2011

Я вижу, что на этом сайте много связанных вопросов.Но, тем не менее, я не могу выполнить эту работу по своему требованию.

Это мой вызов ajax

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

, и моя сетка обновления выглядит следующим образом

  function refreshGrid() {
        alert("I am at Refresh Grid");
        if ($(".t-grid .t-refresh").exists()) {
            $(".t-grid .t-refresh").trigger('click');
        }
    }

Прежде всего после успеха мой ajax-вызов не запускает функцию refreshGrid ().Может ли кто-нибудь помочь мне с этим

Я нашел проблему и исправил ее: Я сделал эти изменения

 dataType: "text",
  success: function (data) {
       refreshGrid();
  }

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

Ответы [ 5 ]

4 голосов
/ 16 апреля 2013

для перезагрузки сетки используйте это после успешного вызова ajax

var optionsGrid = $ ("# favour-grid"); // идентификатор вашей сетки

optionsGrid.data ( 'TGrid') ajaxRequest ();.

наслаждаться

0 голосов
/ 16 февраля 2013

Для привязок к серверу Telerik Grid Просто нужно сделать следующее: ..... Просто использовать и ура

После любого события вы можете позвонить по этому

 var href = $('.t-refresh').attr('href');
 window.location.href = href;
0 голосов
/ 21 декабря 2011
function refreshGrid() {
        $(".t-grid .t-refresh").trigger('click');
   }

Это сработало или у меня

0 голосов
/ 29 декабря 2011

Таким образом

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

это обновит все ваши сетки на вашей странице, если у вас более одной сетки. Даже сетки деталей будут обновлены.

Чтобы предотвратить это, вы можете использовать идентификатор вашей сетки

@(Html.Telerik().Grid(Model)
    .Name("myGrid")
    .Columns(columns =>
    {
        columns.Bound(o => o.OrderID).Width(100);
        columns.Bound(o => o.ContactName).Width(200);
        columns.Bound(o => o.ShipAddress);
        columns.Bound(o => o.OrderDate).Format("{0:MM/dd/yyyy}").Width(120);
    })
..........
..........
..........
)

   function refreshGrid() {
        $("myGrid .t-grid .t-refresh").trigger('click');
   }
0 голосов
/ 25 октября 2011

Сначала необходимо выяснить причину, по которой обратный вызов успеха не вызывается.Возможно, есть ошибка.Вы можете попробовать обработать error из $. Ajax , чтобы увидеть ответ.Вы также можете использовать какой-нибудь HTTP-сниффинг-инструмент (инструменты разработчика WebKit, FireBug или Fiddler ), чтобы проверить ответ сервера.

Когда вы сортируете обработчик успехане вызываясь, вы можете использовать ajaxRequest метод сетки, чтобы обновить его.

...