Question

I ai une grille qui permet à l'utilisateur de filtrer. Si l'utilisateur change le mot de recherche qui est utilisé pour remplir la grille, le filtre de la recherche précédente reste en place.

<label for="UserName"> 
    User Name:</label> 
<%= Html.TextBox("UserName", "") %> 
&nbsp; &nbsp; 
<input id="btnSearch" type="submit" value="Submit" /> 
</p> 
<div class="<%= "t-" + Html.GetCurrentTheme() %>" style="width: 400px;"> 
<%= Html.Telerik().Grid<ADGroup>()       
        .Name("Groups") 
        .Columns(columns=> 
        { 
            columns.Add(c => c.GroupName).Width(350); 
        }) 
        .Sortable() 
        .Filterable() 
        .Pageable(paging => 
            paging.PageSize(20) 
        ) 
        .Ajax(ajax => ajax.Action("_GetGroups", "GroupSearch", new { userName = "John Doh" })) 
        .BindTo((IEnumerable<ADGroup>)ViewData["Groups"]) 
%> 
</div> 

J'ai déclenché le retirage du ceindre se produire lorsque btnSearch est pressé.

<% 
Html.Telerik().ScriptRegistrar() 
    .OnDocumentReady(() =>  
    { 
    %> 
    var groupsGrid = $('#Groups').data('tGrid'); 
    $('#btnSearch') 
        .live("click", function() { 
            var user = $('#UserName').val(); 
            // rebind the related grid 
            groupsGrid.rebind({ 
                userName: user 
            }); 
        }); 
    <%  
}); 

%>

Je sais que je peux ajouter le code suivant qui afficher le menu du filtre, mais je préférerais pouvoir effacer automagiquement le filtre avant ou après l'appel .rebind () se produit.

$('.t-grid-filter:first') 
     .trigger('click'); 
Était-ce utile?

La solution

Korchev est inspiration ... Je suis venu avec ce qui suit qui est exécutée avant que le retirage se produit. Elle efface les valeurs de filtre et applique ensuite les nouvelles valeurs (inexistantes).

//Clear UI Filter Text
$('#Groups .t-clear-button').click();
$('#Groups .t-filter-button').click();

// rebind the related grid
groupsGrid.rebind({
    userName: user
});

Autres conseils

Vous pouvez vérifier ma réponse ici .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top