Frage

ich ein Gitter haben, das den Benutzer Filter ermöglicht. Wenn der Benutzer ändert das Suchwort, das verwendet wird, um das Raster zu füllen, die Filter der letzten Suche bleibt an seinem Platz.

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

Ich habe die rebind des gird ausgelöst auftreten, wenn btnSearch gedrückt wird.

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

%>

Ich weiß, dass ich den folgenden Code hinzufügen kann, die das Filtermenü bringen, aber ich würde es vorziehen, die Lage sein, automatisch die Filter zu löschen, bevor oder nachdem die .rebind () Aufruf erfolgt.

$('.t-grid-filter:first') 
     .trigger('click'); 
War es hilfreich?

Lösung

Mit korchev ist Inspiration ... kam ich mit der folgenden auf, die vor der rebind ausgeführt wird, tritt auf. Es klärt die Filterwerte aus und wendet dann die neuen (nicht vorhandenen) Werte.

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

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

Andere Tipps

Sie können meine Antwort hier .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top