Kendo Grid - 传输读取未从输入框获取搜索条件

时间:2014-05-16 14:35:59

标签: kendo-ui kendo-grid

我有基本的剑道网格和文本输入框。我只是想在单击#searchButton后将框中的内容传递给传输读取。我就是这样做的。警报显示值已存在,但未在" id"在阅读网格。我究竟做错了什么?

$("#searchButton").on("click", function () {
    alert($("#searchCriteria").val());
    $($asGrid).data('kendoGrid').dataSource.read();
});

var asGridDataSource = new kendo.data.DataSource({
    transport: {
        read: {
            url: "/api/securitiesapi",
            data: {
                id: $("#searchCriteria").val() 
            }
        }
    },
    schema: {
        model: {
            id: "ID",
            fields: {
                CUSIP: { editable: false },
                SecurityType: { editable: false },
                PoolNumber: { editable: false },
                PoolPrefix: { editable: false },
                IssueDate: { editable: false },
                MaturityDate: { editable: false },
                OriginalBalance: { editable: false },
            }
        }
    }
});

直接来自网格的Kendo doc页面:

read: {
  url: "http://demos.telerik.com/kendo-ui/service/twitter/search",
  dataType: "jsonp", // "jsonp" is required for cross-domain requests; use "json" for same-domain requests
  data: {
    q: $("#search").val() // send the value of the #search input to the remote service
  }
}

我基本上做同样的事情,但它不起作用。

1 个答案:

答案 0 :(得分:1)

他们的文件错误或误导。为了让它以您想要的方式工作,您应该将数据属性更改为函数,如下所示:

transport: {
  read: {
    url: "/api/securitiesapi",
    data: function() {
      return { id: $("#searchCriteria").val() };
    }
  }
}