2013-03-25 21 views
13

KendoUI Grid'de destroy() çağrılırken ve tabloyu yeni bir DataSource yeniden oluştururken: eski tablo sütunları neden hala var?Kendogrid destroy() ve tabloyu yeni bir veri kaynağında yeniden oluştur, eski tablo sütunları neden hala var?

Burada duran tek unsur, öğeyi ifade eder. Izgaraya yeni veri kaynağı sütunlarını okumasını nasıl söylerim (doğru olan her şeyi okur).

(Ben 2 farklı unsurları yaparsanız, ikisi de düzgün doldurmak ama yerine sadece 1 elemanını tutmak ve yok etmek ve REINIT tarafından elementler tablosunu değiştirin)

cevap

28

içeride içeriği temizleyerek olmadığı için Büyük olasılıkla bu Izgara kabı. Örneğin.

$('#gridName').data().kendoGrid.destroy(); 
$('#gridName').empty(); 

veya daha kısa sözdizimi Izgara dikkate bırakılır eski html alır

$('#gridName').kendoGrid('destroy').empty(); 

Diğer bir yol - Izgara here gibi tablodan başlatıldı olabileceğini unutmayın.

+1

Bir Javascript çalışma zamanı hatası ile bitiyorum: undefined veya null başvuruda 'kendoGrid' özelliği alınamıyor. Yukarıda belirtilen javascript'i çalıştırmaya çalıştığımda. – Jeremy

1

Açısal çerçevede çalışıyorum ve Kendo ızgarasını yeni bir dataSource ve yeni sütunlarla yeniden başlatamıyorum. Hiçbir şey ikinci grid init üzerinde çalışıyor. Ben denedim:

if (vm.mainHierGrid != null) { 
      //vm.mainHierGrid.data().kendoGrid.destroy(); 
      $('#mainGrid').data().kendoGrid.destroy(); 
      //$('#mainGrid').empty(); 
      vm.mainHierGrid.destroy(); 
     } 
+2

Aynı sorunu yaşadım, jQuery kılavuzunu açısal yönergeye gömdüm – ps0604

1

Sadece bana yardımcı çünkü Peter Subev cevabı son bit açıklamak istiyorum: Bu sadece HTML'nize Bunun yerine bir <table> etiketi kullanılır söylüyor

"do not forget that the Grid could be initialized from table like here "

<div> etiketinden daha fazla. <table> etiketini kullanmak, Grid tablo verilerini Izgara sütunlarından ayırır, böylece $ ('# gridName') yaptığınızda, kendoGrid ('destroy') boş() sütun verilerini değil, yalnızca tablo verilerini yok eder/boşaltır. .

İstenilen sonucu elde etmek için HTML <table> etiketinizi bir etiketine geçirin.

İlgili konular