2010-09-27 29 views
5

Html form metin kutularını çıktılamak için özel bir biçimlendirici kullanıyoruz. Bir kullanıcının veriye girmesi ve bir sonraki/önceki düğmeye basması durumunda onlara "verileri düzenlediniz, bu sayfada kalmak için tamam ve verilerinizi kaydediniz" diye anlatmak istiyoruz. Bunu nasıl yapabilirsin? jqGrid çağrı cihazı yönlendirmesini engelliyor mu?

' onPaging' olayı size çağrı cihazı kullanmak ancak oluşan dan pagination önlemek izin vermiyor zaman.


Güncelleme: Şu andaki çözüm:

var currPg = 1; 
var dirty = 'false'; 


    $("#list").jqGrid({ 
    ... 
    onPaging: function (b) { 
     var nextPg = $("#list").getGridParam("page"); 

     if (dirty == 'false') { 
      currPg = nextPg; 
      return; 
     } 


     $("#dialog-confirm").dialog({ 
     modal: true, 
     buttons: { 
      "Stay on current page": function() { 
       $(this).dialog("close"); 
      }, 
      "Change page": function() { 
       $(this).dialog("close"); 
       reloadGrid($("#list"), null, nextPg, 'false'); 
      } 
     } 
     }); 

     $("#list").setGridParam({page:currPg}); //Workaround - jqGrid still increments the page num even when we return stop so we have to reset it (and track the current page num)  
     return 'stop'; 
    }, 

Güncelleme 2: Hata here açmış. fonksiyon onPaging döndürüyor 'dur' sonra sayfalandırma durdurulacak olursa

cevap

4

.

+0

Teşekkür Oleg, şimdi bunun üzerinde çalışıyor. Ben buldum Bir böcek sen 'dur' dönerseniz ızgara sayfa numarası hala artırılır olmasıdır .. bir hata bildiriminde olacak .. –

+0

@Marcus: Birlikte değerini sıfırlayabilirsiniz Çözüm olarak ' – Oleg

+0

Sadece yaptığımız setGridParam' Şu anda görüntülenen sayfayı belirlemek için bir yolu var mı? Eğer getGridParam ('page') 'seçeneğini kullanırsanız, sonraki sayfada görüntülenecek sayfayı döndürür. Görüntülenmekte olan gerçek sayfa numarasını takip etmek için yeni bir değişken kullandım - daha iyi bir yol olup olmadığından emin değilim .. –

0

Gözlemlerime göre, En son jqgrid eklentisinde iyi çalışır. Önceki jqgrid eklentisini kullanırsak (3.8 sürümünden önce) .onPaging olayı çalışır, ancak bu olayı kullandıktan sonra sayfalamada hata vardır. Otomatik olarak sayfanın arttırma değeri ya kullanıcı tıklatır ya da iptal edilir (her iki durumda da) .Pagginasyonun bozuk verilerine yol açar.

İlgili konular