2014-12-01 10 views
5

Chcę wyłączyć (lub może zdefiniować niestandardową listę) operatorów na kolumnę. Próbowałem to zrobić w definicji kolumny:Siatka KendoUI - wyłączenie niektórych operatorów filtrów na kolumnę

"field": "Name", 
"title": "name", 
"attributes": { 
    "class": "nameCell" 
}, 
"filterable": { 
    "operators": gridTranslationService.getHierarchyOperators() 
} 

Ale to nie działa na mnie. Wszelkie sugestie, jak mogę to zrobić?

+0

ok, ale nie ma o domyślnym operatorem na komórce, a nie listy operatorów na komórki/kolumny. – lukisp

+0

Na przykład mam kolumnę o nazwie "Status", a pole thid jest zdefiniowane jako typ "ciąg". Teraz chcę zmodyfikować listę filtrów tylko w dwóch pozycjach: eq i neq. Pytanie brzmi: jak mogę to zrobić tylko dla tej kolumny, a nie dla całej siatki? " – lukisp

Odpowiedz

10

Set status definicja kolumny jak:

columns: [ 
     { 
     field: "status", 
     filterable: { 
      operators: { 
      string: { 
       eq: "Equal to", 
       neq: "Not equal to" 
      } 
      } 
     } 
     }, 

$(document).ready(function() { 
 
    $("#grid").kendoGrid({ 
 
    columns: [ 
 
     { field: "id", filterable: false }, 
 
     { 
 
     field: "status", 
 
     filterable: { 
 
      operators: { 
 
      string: { 
 
       eq: "Equal to", 
 
       neq: "Not equal to" 
 
      } 
 
      } 
 
     } 
 
     } 
 
    ], 
 
    filterable: true, 
 
    dataSource: [ 
 
     { status: "error", id: 1 }, 
 
     { status: "warning", id: 2 }, 
 
     { status: "warning", id: 3 }, 
 
     { status: "warning", id: 4 } 
 
    ] 
 
    }); 
 
});
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.common.min.css"> 
 
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.rtl.min.css"> 
 
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.default.min.css"> 
 
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
 
<script src="http://cdn.kendostatic.com/2014.3.1119/js/kendo.all.min.js"></script> 
 

 
<div id="grid"></div>

+0

Mój błąd polega na zdefiniowaniu firtelable w obiekcie konfiguracji siatki jako obiektu z tłumaczeniem dla operatorów całościowych Teraz, gdybym miał ustawialny zestaw na true wszystko działało dobrze – lukisp

+0

Nie ma "columns.filterable.operators" w dokumentacji js apendo Kendo na stronie Grid .Jeżeli dokumentacja jest niepełna? Skąd wiesz, że możesz umieścić 'operatory' wewnątrz' kolumn'? – Gherman

+1

@ Próbka OnaBai działa dobrze na ciąg Jeśli masz kolumnę z numerem, musisz napisać: operatory: {numer: {eq: "Równy z"}} Znalazłem wpis na blogu na ten temat: http://brianseekford.com/wordpress/?p = 675 # comment-19726 –

Powiązane problemy