【问题标题】:Grid Not populating in kendoGrid网格未填充在 kendoGrid 中
【发布时间】:2014-12-13 07:16:23
【问题描述】:

我正在使用 MVC 4 和 kendo UI 来填充网格。但是网格没有正确填充。

这是我的观点:

<script type="text/javascript">

        $.ajax({
            url: '@Url.Action("Employee_Read", "UserSummary")',
            type: 'GET',
            dataType: "json",
            Async: true,
            success: function (data, textStatus, xhr) {
                var dataloc = data;



                var element = $("#grid4").kendoGrid({
                    dataSource: {
                        data: dataloc,
                        schema: {
                            model: {
                                fields: {
                                    userDetailsId: { type: "number", editable: false },
                                    name: { type: "string", editable: false },
                                    roleId: { type: "string", editable: false },
                                    emailId: { type: "string", editable: false }
                                }
                            }
                        }
                    }
                });
            }
        });
    </script>

控制器;

 [HttpGet]
    public ActionResult Employee_Read([DataSourceRequest]DataSourceRequest request)
    {
        using (var emp = new MockProjectAkarshEntities1())
        {
          IQueryable<tbl_UserDetails> userDetails = emp.tbl_UserDetails;


            DataSourceResult result = userDetails.ToDataSourceResult(request);

            return Json(result,JsonRequestBehavior.AllowGet);


        }

在输出中,我得到类似“[object][object]”的内容,并且没有从数据库返回的表中的行。网格的骨架即将到来,但没有数据。我是 MVC 和剑道的新手。请帮帮我。

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4 razor kendo-ui


    【解决方案1】:

    您收到的数据应该以{"Data": 开头,因此只需将您的代码从var dataloc = data; 更改为var dataloc = data.Data;,只需访问UserSummary/Employee_Read 确认即可。

    您也可以稍后像这样设置数据源(如果您喜欢在某个阶段)

    <script type="text/javascript">
    $.ajax({
        url: '@Url.Action("Employee_Read", "UserSummary")',
        type: 'GET',
        dataType: "json",
        Async: true,
        success: function (data, textStatus, xhr) {
            var dataloc = data.Data;
            var element = $("#grid4").kendoGrid({
                dataSource: {
                    // data: dataloc,
                    schema: {
                            model: {
                                fields: {
                                    userDetailsId: { type: "number", editable: false },
                                    name: { type: "string", editable: false },
                                    roleId: { type: "string", editable: false },
                                    emailId: { type: "string", editable: false }
                                }
                        }
                    }
                }
            });
    
            // create data source using the data received  
            var ds = new kendo.data.DataSource({
                            data: dataloc
                         });
            $('#grid4').data('kendoGrid').setDataSource(ds);
        }
    });
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-29
      • 2015-06-06
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多