Infragistics Hierarchical Grid:将JsonResult绑定到网格

时间:2014-05-20 17:32:40

标签: c# infragistics ignite-ui iggrid

我在Infragistics论坛上发布无效,所以我想我会问可能会使用他们产品的社区。

我正在使用IgniteUI实现一个分层网格,似乎无法让我的JsonResult绑定到网格。网格将使用正确的行数进行渲染,但不会填充任何列。

我有以下网格:

$("#grid").igHierarchicalGrid({
                dataSourceType: "json",
                dataSource: "/Products/GetProducts/",
                odata: "false",
                autoGenerateColumns: "false",
                primaryKey: "Id",
                initialDataBindDepth: 1,
                columns: [
                    { headerText: "Id", key: "Id", dataType: "number" },
                    { headerText: "SKU", key: "SKU", dataType: "string" },
                    { headerText: "UPC", key: "UPC", dataType: "string" },
                    { headerText: "Name", key: "Name", dataType: "string" },
                    { headerText: "ManufacturerId", key: "ManufacturerId", dataType: "number" },
                    { headerText: "ManufacturerSKU", key: "ManufacturerSKU", dataType: "string" },
                    { headerText: "Inventory", key: "Inventory", dataType: "number" },
                    { headerText: "Weight", key: "Weight", dataType: "number" },
                    { headerText: "Price", key: "Price", dataType: "number" },
                    { headerText: "MSRP", key: "MSRP", dataType: "number" },
                    { headerText: "CategoryId", key: "CategoryId", dataType: "number" },
                    { headerText: "Active", key: "Active", dataType: "string" },
                    { headerText: "CreateDate", key: "CreateDate", dataType: "date", format: "MM-d-yyyy, h:mm tt" },
                    { headerText: "UpdateDate", key: "UpdateDate", dataType: "date", format: "MM-d-yyyy, h:mm tt" }
                ],
                features: [
                    {
                        name: "Sorting",
                        type: "local"
                    },
                    {
                        filterExprUrlKey: 'filter',
                        filterLogicUrlKey: 'filterLogic',
                        name: "Filtering",
                        type: "remote",
                        columnSettings: [
                    {
                        columnKey: 'Id',
                        condition: "equals"
                    }
                        ]
                    },
                    {
                        name: 'Paging',
                        type: "local",
                        pageSize: 10
                    }
                ],
                columnLayouts: [
                    {
                        key: "VendorProducts",
                        primaryKey: "Id",
                        foreignKey: "Id",
                        autoGenerateColumns: "false",
                        responseDataKey: 'results',
                        columns: [
                            { headerText: "Id", key: "Id", dataType: "number" },
                            { headerText: "ProductId", key: "ProductId", dataType: "number" },
                            { headerText: "PartnerName", key: "PartnerName", dataType: "string" },
                            { headerText: "VendorSKU", key: "VendorSKU", dataType: "string" },
                            { headerText: "Cost", key: "Cost", dataType: "number" },
                            { headerText: "Inventory", key: "Inventory", dataType: "number" },
                            { headerText: "Active", key: "Active", dataType: "number" }
                        ],
                        features: [
                            {
                                name: "Sorting",
                                type: "local"
                            }]
                    }
                ]
            });

从服务器返回的Json如下

var data = [{ "Id": 1032, "SKU": "5_113990", "UPC": "10000001", "Name": "NVG7-3P", "ManufacturerId": 1015, "ManufacturerSKU": "NVGONVG73P", "Inventory": 0, "Weight": 3, "Price": 3026.6, "MSRP": 3799, "CategoryId": 1018, "Active": true, "CreateDate": "\/Date(1398794923467)\/", "UpdateDate": "\/Date(1400000587250)\/", "VendorProducts": [{ "Id": 1046, "ProductId": 1032, "PartnerName": "Direct Buy", "VendorSKU": "113990", "Cost": 0, "Inventory": 0, "Active": true }] }];

当插入dataSource时会将网格渲染得很好,但是当网格调用方法时:

[HttpGet]
        public JsonResult GetProducts()
        {             
            var model = Query.....  
            return Json(model, JsonRequestBehavior.AllowGet);
         }

抛出以下错误:

**Uncaught Error: There was an error parsing the JSON data and applying the defined data schema: The input data doesn't match the schema, the following field couldn't be mapped: VendorProducts** 

我尝试过很多东西,但似乎无法按需加载网格。

1 个答案:

答案 0 :(得分:0)

是当前已知的igGrid问题,请参阅:http://www.infragistics.com/community/forums/p/91530/452561.aspx