2013-09-25 14 views

Odpowiedz

1

jego pracy z kodem Dostepne w http://jsbin.com/egoneWe/3/edit

+0

Wystarczy zastąpić zera dowolnym ciągiem, który chcesz, używając funkcji szablonu. Dziękuję JPN, to był bardzo pomocny post dla mnie. – ADH

0

O ile mi wiadomo, nie ma sposobu, aby stworzyć własną funkcję sortowania na polu. Znalazłem http://sympletech.com/how-to-enable-case-insensitive-sorting-on-kendo-ui-grid/, gdzie ktoś zaimplementował coś takiego, o co pytasz (po prostu robił sortowanie wrażliwe na skrzynkę).

Musiałem to zrobić raz (na szczęście na nieedytowalnej siatce, właśnie pokazywałem dane), a ja po prostu trochę oszukałem siatkę używając szablonu. Przeszukując dane przed datą dataBound, dodając do niej inną właściwość, która reprezentowała dane, które można odpowiednio sortować, i wiążąc siatkę z tą kolumną zamiast z oryginalną kolumną, ale używając szablonu, który zwrócił oryginalną wartość danych.

Zobacz jsbin http://jsbin.com/ETaZOSu/1/edit

+0

Z twojego jsbin, nie mogłem zrozumieć skąd dzwonisz valueTemplate (e) – JPN

+0

W kolekcji kolumn na siatce. columns: [pole: "name", title: "Name"}, {pole: "sort", tytuł: "Wartość", szablon: valueTemplate} ] –

6

można sortować je przy użyciu niestandardowych porównanie funkcji. Oto przykładowy kod, który będzie można umieścić przedmioty z 'N/A' na górze:

$("#grid").kendoGrid({ 
    dataSource: [ 
    { price: 1 }, 
    { price: "N/A" }, 
    { price: 20 }, 
    { price: 2 } 
    ], 
    sortable: true, 
    columns: [ 
    { 
     field: "price", 
     sortable: { 
     compare: function(a, b) { 
      var x = a.price; 
      var y = b.price; 

      if (x == 'N/A') { 
      x = 0; 
      } 

      if (y == 'N/A') { 
      y = 0; 
      } 

      return x - y; 
     } 
     } 
    } 
    ] 
}); 

Oto live demo: http://jsbin.com/urUXOCa/1/edit

+0

To demo działa dobrze, a ja je zredagowałem i dodałem kilka dodatkowych wartości i działa idealnie. Ale ta sama logika nie działa dla mnie. Myślę, że powodem może być to, że nie używam jQuery i nie jestem Angular-Kendo. Każdy pomysł, jak zrobić to sortable: {porównaj: ....}} praca z kątowym kendo – JPN

+0

W przykładzie, jak możemy uzyskać dynamicznie kolumnę a.price. Co najmniej jak pobrać pole wartości do pola var x = a. $ (Coś w tym stylu). Czy to możliwe? – JPN

Powiązane problemy