2011-06-28 9 views
6

I jak funkcje filtru w tym przypadku:Łączenie SlickGrid filtracyjne Przykłady

http://mleibman.github.com/SlickGrid/examples/example-header-row.html

gdzie każda kolumna ma swój własny filtr, ale także wymagać funkcjonalności filtr z:

http://mleibman.github.com/SlickGrid/examples/example4-model.html

W tym może być ukryty i pokazany za pomocą kliknięcia przycisku.

Czy możliwe jest posiadanie filtrów z pierwszego łącza, z "ukrywaniem" filtru z drugiego linku? Dzięki!

Odpowiedz

7

Tak, jest. Możesz użyć metody grid.hideHeaderRowColumns() w pierwszym przykładzie, aby ukryć pasek filtra. Następnie użyj grid.showHeaderRowColumns(), aby wyświetlić go ponownie.

Na przykład, przejdź do pierwszego ogniwa, i zastąpić zawartość pasku adresu z:

javascript:grid.hideHeaderRowColumns() 

i naciśnij Enter. Powinieneś zobaczyć, że pasek filtra przesuwa się w górę i odsuwa. Jeśli budujesz swoją aplikację z pierwszego przykładowego kodu, powinieneś móc wywoływać te funkcje z dowolnego miejsca, tj.

<input type="button" onclick="grid.hideHeaderRowColumns();" value="Hide Filter" /> 

Należy pamiętać, że w drugim przykładzie, autor wykorzystuje poniższy kod, żeby dodać predefiniowany, ale ukrytą, element do stylu paska nagłówka:

// move the filter panel defined in a hidden div into grid top panel 
$("#inlineFilterPanel") 
    .appendTo(grid.getTopPanel()) 
    .show(); 

a ukryty element:

<div id="inlineFilterPanel" 
     style="display:none;background:#dddddd;padding:3px;color:black;"> 
    Show tasks with title including 
     <input type="text" id="txtSearch2"> 
    and % at least &nbsp; 
     <div style="width:100px;display:inline-block;" id="pcSlider2"></div> 
</div>