使用Ajax更新Kendo Grid

时间:2013-08-23 07:21:55

标签: javascript ajax json asp.net-mvc-3 kendo-grid

问题可能在于成功功能 HomeController中的RssCek函数成功返回。但是我无法用网格管理绑定 HomeController RssCek函数返回部分

        return Json(feedler, JsonRequestBehavior.AllowGet);

JavaScript脚本函数

<script>
    function select(e) {
        var value = $(e.item).find("> .k-link").text();

            $.ajax({
                url: '@Url.Action("RssCek", "Home")',
                type: 'GET',
                contentType: 'application/json; charset=utf-8',
                data: { value: value },
                success: function (feedler)
                {
                    var g = $("#grid").data("kendoGrid");

                    g.dataSource = new kendo.data.DataSource({ data: feedler });
                    g.dataSource.read();
                    g.refresh();
                },
                error: function (request, status, error)
                {document.write(request+"++"+ status+"++"+ error);}
                });
    }

</script>

2 个答案:

答案 0 :(得分:0)

你可以像这样设置剑道网格的数据源,

var dataSource = new kendo.data.DataSource({
  data:feedler 

});
var grid = $("#grid").data("kendoGrid");
grid.setDataSource(dataSource);

您可以执行的最佳方法是定义网格数据源的传输属性。您不必为每个数据读取创建数据,您可以在数据本身中can specify read,create,update methods然后调用,

var g = $("#grid").data("kendoGrid");
 g.dataSource.read();

每当您需要从服务器刷新时。

答案 1 :(得分:0)

试试这个,

<script>
    function select(e) {
        var value = $(e.item).find("> .k-link").text();

            $.ajax({
                url: '@Url.Action("RssCek", "Home")',
                type: 'GET',
                contentType: 'application/json; charset=utf-8',
                data: { value: value },
                success: function (feedler)
                {





 $("#grid1").html('');
                       $("#grid1").kendoGrid({
                       dataSource: feedler,
                       sortable: true,
                       pageable: {
                           refresh: true,
                              pageSizes: true
                              },
                            columns: [{
                                         field: "SampleDescription",
                                       width: 90,
                                     }, {
                            field: "SampleCode",
                              width: 90,
                               }, {
                                 width: 100,
                                field: "SampleItems"
                                  }
                                 ]
                                });;
                },
                error: function (request, status, error)
                {document.write(request+"++"+ status+"++"+ error);}
                });
    }

</script>

查看

<div id="grid1">
    </div>

OR与同一网格

  <script>
        function select(e) {
            var value = $(e.item).find("> .k-link").text();

            $.ajax({
                url: '@Url.Action("RssCek", "Home")',
                type: 'GET',
                contentType: 'application/json; charset=utf-8',
                data: { value: value },
                success: function (feedler)
                {


                $('#grid').data("kendoGrid").dataSource = new kendo.data.DataSource({ data: result });
                    $('#grid').data("kendoGrid").dataSource.read();
                    $('#grid').data("kendoGrid").refresh();
}

</script>

字段名称就是例如。