Domanda

Ho una griglia che permette all'utente di filtrare. Se l'utente cambia la parola di ricerca che viene utilizzato per popolare la griglia, il filtro dalla ricerca precedente rimane in vigore.

<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> 

ho innescato il rebind del gird a verificarsi quando si preme btnSearch.

<% 
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 
            }); 
        }); 
    <%  
}); 

%>

So che posso aggiungere il seguente codice che porterà il menu del filtro, ma preferirei essere in grado di cancellare automagically il filtro prima o dopo si verifica la chiamata .rebind ().

$('.t-grid-filter:first') 
     .trigger('click'); 
È stato utile?

Soluzione

korchev è ispirazione ... mi si avvicinò con la seguente che viene eseguito prima che si verifichi il rebind. Spazza via i valori del filtro e poi applica i nuovi valori (inesistenti).

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

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

Altri suggerimenti

È possibile controllare la mia risposta qui .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top