2010-01-07 22 views
5

anda programlı bir jqGrid görüntülenen verileri filtrelemek için bir yol (JavaScript, değil sunucu tarafı) var mı? Tüm arama örnekleri jqGrid'in kendi arama kullanıcı arayüzünü kullanmaya bağlı görünüyor. Örneğin, bir sayfada başka bir yere ait kullanıcı eylemlerine göre filtrelemek istiyorum.Filtre jqGrid istemcideki programlı olarak mı?

Ben KategoriNo kılavuzundaki bir sütundur ve selectedCategoryID, örneğin bir seçme elemanı kullanıcı tarafından seçilen bir değer içerir

jQuery("#grid_id").filter('CategoryID', selectedCategoryID); 

gibi bir şey hayal ediyorum.

cevap

1

Sen veri olarak JSON geçmek ve verileri yeniden setGridParam yöntemi kullanabilirsiniz!

Ben ve müşteri verileri kullanmak yerine bir URL vurmak JqGrid alacağı nasıl emin bu hiç denemedim!

Hiç şansın oldu mu?

5

öncelikle öncesi verileri filtrelemek isterseniz:

$('#myGrid').setGridParam({ data: filtereddataarray }).trigger("reloadGrid"); 
filtereddataarray Eğer programlı şekilde bir filtre oluşturmak istiyorsanız bu görünüm

için görüntülemek istediğiniz tek kayıtlarını içeren

(bunu kullanmak yöntem, çoğunlukla):

var filters = { "groupOp": "AND", "rules": [{ "field": "id", "op": "eq", "data": "9" }, { "field": "amount", "op": "ge", "data": "10" }, { "field": "name", "op": "cn", "data": "do i"}] }; 

//To filter: 
jqGridFilter(filters , $('#myGrid')); 

//To reset: 
jqGridFilter(null, $('#myGrid')); 

    function jqGridFilter(filtersparam, grid) { 
     grid.setGridParam({ 
      postData: { 
       filters: filtersparam 
      }, 
      search: true 
     }); 
     grid.trigger("reloadGrid"); 
    } 
İlgili konular