无法获取属性的值' dataSource':在尝试向kendo详细信息网格添加行时,对象为null或未定义

时间:2014-05-05 15:21:05

标签: jquery kendo-ui kendo-grid

尝试向kendo分层网格的子网格添加行时出现错误。您可以在此JS Fiddle sample

上看到

展开一行,然后单击任意一个复选框以尝试添加行。该错误显示在控制台上。

子网格看起来像这样:

function InductedTasksDetailInit(e) {
$("<div class='ob-child-grid' id='childGrid" + e.data.EmployeeID + "' />").appendTo(e.detailCell).kendoGrid({
    dataSource: {
        data: [],
        transport: {
            read: "http://demos.telerik.com/kendo-ui/service/Northwind.svc/Orders"
        },
        type: "odata",

        serverPaging: true,
        serverSorting: true,
        serverFiltering: true,
        pageSize: 5,
        schema: {
            model: {
              id: "OrderID",
              fields: {
                OrderID: {
                },
                Select: {
                },
                ShipCountry: {
                }
              }
            }
          },              
        filter: { 
            field: "OrderID", operator: "lt", value: 10251 }
    },
    selectable: false,
    columns: [            
        { field: "OrderID", width: "70px" },
        { field: "ShipCountry", title:"Ship Country", width: "110px" }
    ]
});
}

感谢您的帮助, 我真的不确定为什么会这样。

1 个答案:

答案 0 :(得分:1)

在您的函数moveParentRowTo中,您将返回ID为

的元素的网格
'#InductedTasksDetailGrid_' + data.EmployeeID

但是grid元素实际上有id

'#childGrid' + data.EmployeeID

我更新了您的示例:http://jsfiddle.net/765pJ/21/

另外:您现在应该使用jQuery.on()代替delegate()