2010-01-26 32 views
8

Tôi có một lưới cho phép người dùng lọc. Nếu người dùng thay đổi từ tìm kiếm được sử dụng để điền vào lưới, bộ lọc từ tìm kiếm trước đó vẫn giữ nguyên vị trí.Cách xóa bộ lọc trên Telerik ASP.NET MVC Grid

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

Tôi đã kích hoạt sự phục hồi của gird xảy ra khi btnSearch được nhấn.

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

%>

Tôi biết rằng tôi có thể thêm đoạn mã sau đó sẽ đưa lên thanh menu filter, nhưng tôi muốn để có thể Automagically xóa bộ lọc trước hoặc sau .rebind () xảy ra.

$('.t-grid-filter:first') 
    .trigger('click'); 
+0

chỉ cố gắng hiểu những gì bạn đang yêu cầu: bạn muốn xóa bộ lọc và sau đó rebind lưới khi bạn nhấp vào tìm kiếm? –

+0

Đúng ... Tôi về cơ bản muốn bộ lọc đã được áp dụng để được xóa bất cứ lúc nào mà tôi nhấp vào nút btnSearch, ec. – RSolberg

Trả lời

3

Với nguồn cảm hứng korchev's ... Tôi đã đưa ra những điều sau đây được thực hiện trước khi sự phục hồi xảy ra. Nó xóa các giá trị lọc và sau đó áp dụng các giá trị mới (không tồn tại).

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

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

Bạn có thể kiểm tra trả lời của tôi here.

+0

Cảm ơn! Nhiều đánh giá cao. – RSolberg

+0

Mã thực sự xóa giá trị bộ lọc hộp văn bản, nhưng nó không thực sự thay đổi đằng sau bộ lọc cảnh. Tôi nghĩ rằng tôi sẽ phải cũng mô phỏng các nhấp chuột vào nút bộ lọc thực tế cho điều này để làm việc. Vui lòng cho tôi biết khi nào bản sửa lỗi chính thức có thể sẵn sàng! – RSolberg

Các vấn đề liên quan