Kendo UI Grid Basic实现

时间:2013-02-26 04:18:48

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

我正在尝试实现Grid的基本功能,因为在编译项目时我收到的错误是“预期的对象”

使用以下代码行:

         $(document).ready(function() {
                $("#grid").kendoGrid({
                    dataSource: {
                        data: createRandomData(50),  //exception in this line of code
                        pageSize: 10
                    },

你能帮助我理解我需要写什么代替createRandomData吗? 它是从我将数据放在网格上的表名,还是其他的? (顺便说一句,我使用SQL Server 2008作为后端并在Visual Studio 2010 MVC4上运行此代码),我也是MVC和Kendo UI的新手。

我正在尝试实现的是使用MVC 4将数据从SQL服务器绑定到网格。

提前致谢! :)

这是代码:

              <script>
            $(document).ready(function () {
                $("#grid").kendoGrid({
                    dataSource: {
                        data: createRandomData(50),
                        pageSize: 10
                    },
                    groupable: true,
                    sortable: true,
                    pageable: {
                        refresh: true,
                        pageSizes: true
                    },
                    columns: [{
                        field: "FirstName",
                        width: 90,
                        title: "First Name"
                    }, {
                        field: "LastName",
                        width: 90,
                        title: "Last Name"
                    }, {
                        width: 100,
                        field: "City"
                    }, {
                        field: "Title"
                    }, {
                        field: "BirthDate",
                        title: "Birth Date",
                        template: '#= kendo.toString(BirthDate,"dd MMMM yyyy") #'
                    }, {
                        width: 50,
                        field: "Age"
                    }
                    ]
                });
            });
        </script>

这是功能定义:

    function createRandomData(count) {
       var data = [],
      now = new Date();
       for (var i = 0; i < count; i++) {
        var firstName = firstNames[Math.floor(Math.random() * firstNames.length)],
        lastName = lastNames[Math.floor(Math.random() * lastNames.length)],
        city = cities[Math.floor(Math.random() * cities.length)],
        title = titles[Math.floor(Math.random() * titles.length)],
        birthDate = birthDates[Math.floor(Math.random() * birthDates.length)],
        age = now.getFullYear() - birthDate.getFullYear();

    data.push({
        Id: i + 1,
        FirstName: firstName,
        LastName: lastName,
        City: city,
        Title: title,
        BirthDate: birthDate,
        Age: age
    });
}
return data;

}

控制器应该返回作为计数传递的值吗?

    public ActionResult createRandomData()
    {
       return View();
    }

3 个答案:

答案 0 :(得分:1)

文档中有很多ASP.NET教程。我建议从this one开始。如果您不熟悉从服务器返回JSON,还有starting out with services的教程。

答案 1 :(得分:0)

函数createRandomData(50)应该返回一个json对象。请显示功能定义..

您返回的网格和json对象中的列名称不匹配

答案 2 :(得分:0)

在服务器端,定义具有必要属性的类型。然后使用服务器端代码从数据库或使用一些随机数据填充对象数组。从控制器使用内置的JavaScript Serializer将数组序列化为JSON并作为JsonResult返回。例如,

public JsonResult CreateRandomData(int count){

列出人员=

返回新的JsonResult(){Data = persons,ContentType =“application / json”,JsonRequestBehavior = JsonRequestBehavior.AllowGet};

}

内置JsonSerializer(System.Web.Mvc)提供JSON序列化和deserializatoin支持。