0
votes

I am using a Kendo dropdownlist to display data made from a remote service call.

First, here is the definition in the HTML template:

<select
kendo-drop-down-list
k-options="dropdownOptions"
k-ng-delay="dropdownOptions">
</select>

Next, here is the code to populate the dropdown from an AngularJS controller:

    var myUrl = '(url of REST service)';
                $scope.dropdownOptions = {
                    dataSource: {
                        transport: {
                            read: {
                                url: myUrl,
                                dataType: 'json',
                                type: 'POST',
                                contentType: "application/json;charset=ISO-8859-1"
                            },
                            parameterMap: function (data, type) {
                                const req = {
                                    "PARAMS": $scope.params
                                };

                                return JSON.stringify(req);

                            }
                        }
                    },
                    dataTextField: 'DESCRIPTION',
                    dataValueField: 'VALUE',
                    schema: {
                        type: "json",
                        data: "resultData",
                        model: {
                            id: "VALUE",
                            fields: {
                                "VALUE":{field: "VALUE", type: "string"},
                                "DESCRIPTION":{field: "DESCRIPTION", type: "string"}
                            }
                        }
                    }
                };

(Note: the REST service requires data to be provided as a JSON object via POST, hence the type and parameterMap).

I have confirmed that the data to populate the dropdown is being returned from the REST service as an array under the key "resultData":

{
    "resultData":[{"DESCRIPTION":"Whatever","VALUE":"VALUE1"},...]
}

Can anyone help me?

Update

I am also seeing "e.slice is not a function" in my dev console.

Edit

Added id field to model, no effect.

1

1 Answers

0
votes

The problem was that schema should have been a child of dataSource. Once I fixed that, the data began to display.