2013-09-25 35 views
11

Tôi đã cố gắng để thay đổi thứ tự bộ lọc mặc định cho Kendo Lưới sử dụng:Làm thế nào để thay đổi các nhà điều hành bộ lọc mặc định trong ui kendo lưới MVC

.Filterable(filterable => filterable 
         .Extra(true) 
         .Operators(ops => 
          ops.ForString(str => str.Clear() 
                .Contains("Contains") 
                .StartsWith("Starts with") 
                .EndsWith("Ends with") 
                .IsEqualTo("Is equal to")) 
         )) 

Có cách nào tôi có thể thay đổi các nhà điều hành mặc định để HOẶC?

enter image description here

Trả lời

4

này có thể được thực hiện thông qua filterMenuInit sự kiện:

/* grid configuration snip */ 
.Events(e => e.FilterMenuInit("filterMenuInit")) 
/* grid configuration snip */ 

<script> 
function filterMenuInit(e) { 
     e.container 
     .find("select.k-filter-and") 
     .data("kendoDropDownList") 
     .value("or"); 
} 
</script> 

Đây là một bản demo trực tiếp: http://jsbin.com/etItEpi/1/edit

+1

Thật không may điều này giải pháp chỉ hoạt động một phần và gây ra trải nghiệm người dùng rất đáng lo ngại: Sau khi sắp xếp lại cột, toán tử đặt lại về 'Và'. Để tái tạo điều này: 1) định cấu hình lưới/cột trong mẫu để sắp xếp, 2) Chạy, 3) Nhấp vào bộ lọc và lưu ý toán tử là 'Hoặc'. 4) Sắp xếp lại cột bằng cách nhấp vào tiêu đề của nó 5) Nhấp vào bộ lọc và lưu ý toán tử được đặt lại về mặc định: 'And'. –

+0

@ g.pickardou hoặc chỉ cần nhấn nút Xóa. – Neshta

0

Bạn cũng có thể làm điều này trên một cơ sở cho mỗi cột trên định nghĩa lưới của bạn (MVC):

cols.Bound(m => m.xxx).Filterable(f=> f.Cell(cell => cell.Operator("or"))); 
+1

Điều này dường như không hoạt động. Không có lỗi biên dịch, không có lỗi thời gian chạy, tuy nhiên hoạt động mặc định và vẫn giữ nguyên là –

+1

Điều này dành cho chế độ lọc 'GridFilterMode.Row' – Sergey

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