2011-04-16 18 views
5

Şu anda, arama kutusunu açmak için jqGrid Arama simgesine tıklamanız gerekiyor. Ne yapmak istediğim, arama kutusunun her zaman ızgarada (açılır pencere olarak değil) açık olması. Onların demolarında hiçbir şey görmüyorum, ama birilerinin bunu yaptığını ya da nasıl olduğunu bilmesini umuyorum.jqGrid Arama Kutusu Sayfasında Kalmak Mümkün mü?

+0

Muhtemelen [araç çubuğu arama] (http://www.trirand.com/jqgridwiki/doku.php?id=wiki:toolbar_searching benim sabit versiyonu) daha iyi? Ne tür bir aramaya ihtiyacınız var? Yeni stil arayışına sahip jqGrid 4.0.0 sürümünü kullanıyor musunuz? İstediğinizi uygulamak isteyebilirsiniz, ama sonunda başka bir şey ifade ettiğinden emin değilim. Çoğu durumda, ızgarada iki arama yapıyorum: hızlı sezgisel arama için arama yapan araç çubuğu ve daha fazla bilgi için [gelişmiş arama] (http://www.trirand.com/jqgridwiki/doku.php?id=wiki:advanced_searching) karmaşık filtreler. – Oleg

+0

JqGrid 3.8.2 gelişmiş arama kullanıyoruz. Araç çubuğu araması, aynı sütun için aralıklara sahip olmamıza izin vermez (inanmıyorum), aksi halde gitmek için doğru yol olabilir. –

cevap

7

neye ihtiyacınız yapmanın en kolay yolu

var grid = $("#list"), 
    prmSearch = {multipleSearch:true,overlay:false}; 

grid.jqGrid({ 
    // all jqGrid parameters 
}); 

// next line is optional 
grid.jqGrid('navGrid','#pager', 
      {add:false,edit:false,del:false,search:true,refresh:true}, 
      {},{},{},prmSearch); 

// create the searching dialog 
grid.searchGrid(prmSearch); 

// find the div which contain the searching dialog 
var searchDialog = $("#fbox_"+grid[0].id); 

// make the searching dialog non-popup 
searchDialog.css({position:"relative", "z-index":"auto"}); 

Sonuçların here canlı görebilirsiniz olduğunu.

searchDialog.addClass("ui-jqgrid ui-widget ui-widget-content ui-corner-all"); 
searchDialog.css({position:"relative", "z-index":"auto", float:"left"}) 
var gbox = $("#gbox_"+grid[0].id); 
gbox.before(searchDialog); 
gbox.css({clear:"left"}); 

O "gbox_list" div arama diyalog dışında hareket: Aşağıdaki arama diyalog ve ayrıca yapabileceğiniz ızgara üzerinde sınır uzakta yapmak.

Son çözüm, here görebilirsiniz.

+0

Bu durumda, "onSearch", – Hunt

+0

@ Hunt olarak adlandırılamaz: Ne demek istediğinizden emin değilim. Cevabımdan demo jqGrid 3.8.2 kullanır. Filtreleme modülü * daha sonra yeniden yazıldı *. Yani jqGrid'in geçerli sürümünü kullanırsanız başka bir kod kullanmanız gerekir. Örneğin [buradan] (http://stackoverflow.com/a/10131596/315935). JqGrid'in geçerli sürümü arama modülünde çok daha fazla değişiklik var. Herhangi bir şekilde, onSearch'ün çağrılmadığı bir sorununuz varsa, ilgili demoya URL göndermelisiniz. – Oleg

+0

4.4.5 jqGrid'im var. Hem araç çubuğu aramayı hem de açılır pencereyi kullanıyorum. Üst başlık bölgesinde simgeleri öne çıkarmak için biraz özelleştirdim ve özel simgemden fbox_ arama iletişim kutusunu nasıl başlattığımı arıyorum ( – bkwdesign

1

Burada, birisi tıklatılana kadar jq ızgarası arama kutusunu sayfada (açılır pencere) kalmasına yardımcı olabilecek en basit yol.

$("#grid").searchGrid({ closeAfterSearch: false }); 
$("#grid").searchGrid({ closeOnEscape: false }); 
2

Bu jqGrid> 4,3

var searchDialog = $("#searchmodfbox_"+grid[0].id);  
    searchDialog.addClass("ui-jqgrid ui-widget ui-widget-content ui-corner-all"); 
    searchDialog.css({position:"relative", "z-index":"auto", "float":"left"})  
    var gbox = $("#gbox_"+grid[0].id); 
    gbox.before(searchDialog); 
    gbox.css({clear:"left"}); 
İlgili konular