8

テキスト ボックスに入力した値に基づいてグリッド フィルタリングをフィルタリングする方法を教えてください。

グリッドの外側に 1 つのテキスト ボックスがあり、テキスト ボックスに入力した値に基づいてグリッド全体を検索したいと考えています。ステップ1:

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

ステップ 2: ソースからの bing グリッド値

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"
        }
    ]
});

ステップ3:テキストボックスのスクリプト.これは、結果がグリッドに表示されるはずのグリッドで値が一致する場合、テキストボックスに入力した値です。

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

1 に答える 1

11

あなたが持っている場所:

gridResult.datasource.filter($filter);

それは読むべきです:

gridResult.data("kendoGrid").dataSource.filter($filter);
  1. dataSourceのsは大文字です
  2. data("kendoGrid")ここまたは宣言時に追加する必要がありますvar gridResult
于 2012-12-07T08:45:37.017 に答える