RSo*_*erg 8 asp.net-mvc jquery telerik telerik-mvc
我有一个允许用户过滤的网格.如果用户更改用于填充网格的搜索词,则上一次搜索的过滤器将保留在原位.
<label for="UserName">
User Name:</label>
<%= Html.TextBox("UserName", "") %>
<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>
Run Code Online (Sandbox Code Playgroud)
当按下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
});
});
<%
});
Run Code Online (Sandbox Code Playgroud)
%>
我知道我可以添加以下代码来调出过滤器菜单,但是我希望能够在.rebind()调用发生之前或之后自动清除过滤器.
$('.t-grid-filter:first')
.trigger('click');
Run Code Online (Sandbox Code Playgroud)
受到科尔切夫的启发......我想出了以下在重新绑定发生之前执行的内容。它清除过滤器值,然后应用新的(不存在的)值。
//Clear UI Filter Text
$('#Groups .t-clear-button').click();
$('#Groups .t-filter-button').click();
// rebind the related grid
groupsGrid.rebind({
userName: user
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5952 次 |
| 最近记录: |