簡體   English   中英

Mvc Kendo網格-不顯示從控制器返回的任何數據

[英]Mvc Kendo grid - Doesn't show any data that returned from controller

我想在Kendo網格上執行的操作是將所選列的ID傳遞給控制器​​,返回的數據將是同一頁面上第二個kendo網格的數據源,而無需任何頁面加載或刷新。

一切都在服務器端運行良好。所需的數據將以json格式返回以供查看,但第二個網格無法顯示該數據。

JS:

    e.preventDefault();
        var tr = $(e.target).closest("tr"); // get the current table row (tr)

        var dataItem = this.dataItem($(e.target).closest("tr"));
      //Data that coming from kendo grid's selected column
       var code = dataItem.CODE;
       // alert(code);

        var crudServiceBaseUrl = "/Administrator/DefinitionDetailRead/",
                     dataSource = new kendo.data.DataSource({
                         transport: {
                             read: {
                                 url: crudServiceBaseUrl,
                                 data: { DefinitionCode: code },
                                 dataType: "json"
                             },
                             update: {
                                 url: crudServiceBaseUrl + "/Products/Update",
                                 dataType: "json"
                             },
                             destroy: {
                                 url: crudServiceBaseUrl + "/Products/Destroy",
                                 dataType: "json"
                             },
                             create: {
                                 url: crudServiceBaseUrl + "/Products/Create",
                                 dataType: "json"
                             },

                         },
                         //batch: true,
                         pageSize: 9,
                         schema: {
                             model: {
                                 ID: "ID",
                                 fields: {
                                     ID: { editable: false, nullable: true },
                                     DESCRIPTION: { validation: { required: true } }


                                 }
                             }
                         }
                     });

        $("#detailsGrid").kendoGrid({

            dataSource: dataSource,
             attributes: {

                style: "padding-left: 0px; font-size: 14px"
            },
            pageable: {
                refresh: false,
                pageSizes: false,
                buttonCount: 5
            },

            toolbar: ["create"],
            columns: [
                {
                    field: "DESCRIPTION",
                    title: "DESCRIPTION",
                    //filterable: {
                    //    ui: titleFilter
                    //},
                    width: "200px"
                },

                { command: ["edit", "destroy"], title: "Operation", width: "100px" }],
            editable: "popup"
        });

負責人:一切都在這里工作。

public ActionResult DefinitionDetailRead([DataSourceRequest] DataSourceRequest request, string DefinitionCode)
    {
        DataSourceResult result = null;
        var lang = CultureHelper.GetCulture();
        using (var client = SoapProxyFactory.CreateDSrvGDSoapClient())
        {
            var pSize = request.PageSize;
            var pIndex = request.Page;
            var totalsize = client.GetDefinitionDetailsTotalCount(DefinitionCode, lang);
            var dataresult = client.GetDefinitionDetails(DefinitionCode, lang, false);
            var items = dataresult.RootResults;
            result = items.ToDataSourceResult(request, totalsize, null);

        }
        return Json(result, JsonRequestBehavior.AllowGet);

    #endregion


    }

Json來自控制器的數據:

{“數據”:[{“擴展數據”:{},“代碼”:“異常”,“代碼類型”:空,“計數”:0,“描述”:“異常(在Resp下檢查)”,“輸入日期”日期null, “ID”: “1b0a0cd8-8fed-4b34-9054-1e73942a16d2”, “ISACTIVE”:假 “ISDEFAULT”:假 “ISSELECTED”:假 “LANG”:NULL, “注1”:NULL,”注2 “:空,” ORDERINDEX “:空,” PARENTDESCRIPTION “:空,” PARENTID “:” 00000000-0000-0000-0000-000000000000" , “REFERENCEID”: “3df1f5d7-bc04-4554-bf01-1a9d5b95eebb”,” VALUE“:空}

問題是您不是在說返回的數據中實際上是包含數據的數組的位置。

您的model定義應為:

    schema: {
        data: "Data",
        model: {
            ID: "ID",
            fields: {
                ID: { 
                    editable: false, 
                    nullable: true
                },
                DESCRIPTION: { 
                    validation: { required: true }
                }                    
            }
        }
    }

我在其中添加data: "Data"通知需要檢查Data KendoUI網格。

您的示例在此處修改: http : //jsfiddle.net/OnaBai/ZEndW/

將數據源的類型指定為“ aspnet-mvc”。 在此之前,請確保已加載kendo.aspnetmvc.min.js文件。

另外,您還必須指定架構配置。

它看起來應該像這樣:

 "dataSource": {
                "transport": {
                    "prefix": "",
                    "read": {
                        "url": ""
                    }
                },
                "pageSize": 20,
                "page": 1,
                "total": 0,
                "type": "aspnetmvc-ajax",
                "schema": {
                    "data": "Data",
                    "total": "Total",
                    "errors": "Errors",
                    "model": {
                        "fields": {
                            "id": {
                                "type": "number"
                            },
                            "quantity": {
                                "type": "number"
                            },
                            "name": {
                                "type": "string"
                            }
                        }
                    }
                }
            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM