0

RESTエンドポイントにバインドする剣道ドロップダウンリストの次のコードがあります

ddChange.kendoDropDownList({
    dataSource: {
        transport: {
            read: {
                url: "http://localhost/Project/MyMethod",
                dataType: "json"
            },
            parameterMap: function () {
                return {
                    source: data.source,
                    c: data.c,
                    ch: data.ch,
                };
            },
            schema: {
                data: function (response) {
                    return $.parseJSON(response);
                }
            }
        }
    },
    dataTextField: "name",
    dataValueField: "id",
    change: ddChange
});

最後の部分を除いて、すべてが機能しているようです。への呼び出しhttp://localhost/Project/MyMethod?source=1&c=2&ch=3が発生しています。それが発生して正しいデータが返されていることがわかりますが、配列に解析する必要がある文字列が残っているため、ドロップダウンには多くの未定義のエントリが含まれているだけではありませんreturn $.parseJSON(response);schema > data

これを行うと剣道グリッドで機能しますが、ドロップダウン リストでも機能するはずですか? 何か不足していますか?

4

1 に答える 1

2

スキーマはトランスポート オブジェクトの一部ではなく、データソースのプロパティです。

これを試すことができますか?

ddChange.kendoDropDownList({
    dataSource: {
        transport: {
            read: {
                url: "http://localhost/Project/MyMethod",
                dataType: "json"
            },
            parameterMap: function () {
                return {
                    source: data.source,
                    c: data.c,
                    ch: data.ch,
                };
            }
        },
        schema: {
            data: function (response) {
                return response;
            }
        }
    },
    dataTextField: "name",
    dataValueField: "id",
    change: ddChange
});

または、スキーマでのみそれを行う場合は、省略できます。

于 2013-01-05T00:02:59.133 に答える