2012-12-07 3 views
8

Jak filtrować filtrowanie siatki na podstawie wartości wprowadzonych w polu tekstowym.Wyszukiwanie w polu tekstowym i filtrowanie wartości w widoku siatki przy użyciu Kendo UI HTML5

Mam jedno pole tekstowe poza siatką i chcę przeszukać całą siatkę na podstawie wartości wprowadzonych w polu tekstowym. Krok 1:

<input id="btnSearch" type="button" value="search" /> 
<div id="grid"> 

step2: Bing wartość siatka ze źródła

var gridResult = $("#grid").kendoGrid({ 
    dataSource: { data: database }, 
    scrollable: true, 
    sortable: true, 
    filterable: true, 
    pageable: { 
     input: true, 
     numeric: false 
    }, 
    columns: [ 
     { 
      field: "id", 
      title: "ID" 
     }, 
     { 
      field: "x", 
      title: "x" 
     }, 
     { 
      field: "y" 
     }, 
     { 
      field: "z" 
     }, 
     { 
      field: "p" 
     } 
    ] 
}); 

step3: skrypt do pola tekstowego .To jest wat kiedykolwiek wartości mam wpisane w polu tekstowym, jeśli mecz na wartości w siatce wynik powinien pojawić się w siatce.

$("#btnSearch").click(function() { 
    $filter = new Array(); 
    $x = $("#txtSearch").val(); 
    if ($x) { 
     $filter.push({ field:"x", operator:"contains", value:$x}); 
    } 
    gridResult.datasource.filter($filter); 
}); 
+0

Proszę bardziej dopracować. Wyjaśnij także, co próbujesz osiągnąć i co już wypróbowałeś w tym procesie. –

+0

Miałem zaktualizowany wat, który mam do tej pory – user1877936

Odpowiedz

10

Gdzie masz:

gridResult.datasource.filter($filter); 

należy czytać:

gridResult.data("kendoGrid").dataSource.filter($filter); 
  1. s w DataSource jest wielkie litery
  2. trzeba dodać data("kendoGrid") tutaj lub po zadeklarowaniu var gridResult.
+0

Dzięki to działa dobrze – user1877936

+0

Z tym samym rezultatem jak mogę powiązać z wykresem – user1877936

+1

Dziękuję za udzielenie mi odpowiedzi – user1877936