0

私は剣道が初めてで、kendoAutoComplete である剣道グリッド列のカスタム エディターを実装しようとしていました。

serverFiltering を true に有効にして、バックエンドからデータを正常に取得できましたが、最終的にはデータがバインドされていません。

コードは次のとおりです。

カスタム エディターの実装:

$('<input class="auto-mat" data-value-field="MAT" data-bind="value:' + options.field + '"/>')
            .appendTo(container)
            .kendoAutoComplete({
                autobind: true,
                suggest: true,
                filter: "contains",
                minLength: 3,
                dataTextField: "DES",
                dataValueField: "MAT",
                dataSource: new kendo.data.DataSource({
                    //serverFiltering: true,
                    transport: {
                        read: {
                            dataType: "odata",
                            url: utils.serverURL() + '&event=SEARCH&field=' + options.field,
                            data: {
                                value: function(){
                                    return $('.auto-mat .k-input').data('kendoAutoComplete').value();
                                }
                            }                                
                        }                           

                    },
                    schema: {
                        data: function (response) {                                
                            return response.data;
                        }
                    }
                })
            });

バックエンドからのデータは次のようになります。

{"DATA":[{"MAT":"111","DES":"COAL"},{"MAT":"222","DES":"TEXT1"}]}

どこが間違っているのか教えてください。

4

3 に答える 3

2

入力名として option.field を設定する必要があり、自動的にバインドされます。

ところで、serverFiltering も有効にする必要があります。リモート提案には必須です。

これを試してください:

$('<input class="auto-mat" data-value-field="MAT" name="'+ options.field + '"/>...

...     
dataSource: new kendo.data.DataSource({
                serverFiltering: true,
                transport: {
...
于 2015-03-03T15:26:22.163 に答える