【问题标题】:Kendo ui grid filter data source using mvvm剑道ui网格过滤数据源使用mvvm
【发布时间】:2017-09-15 13:19:33
【问题描述】:

我想只使用声明性语句而不是 js 来构建剑道网格。

我还想在声明性语句本身中通过数据源应用“过滤器”。如果剑道网格的 data-bind 属性中存在可用选项,则可能。

请帮忙解决一下 jsfiddle

【问题讨论】:

    标签: kendo-ui kendo-grid kendo-datasource


    【解决方案1】:

    这里是jsFiddle DEMO,说明使用 Kendo 网格和使用 MVVM 进行过滤。

    以下是演示中的代码 sn-p:

    HTML:

    <div data-role="grid"
                     data-filterable="true"            
                     data-editable="true"
                     data-toolbar="['create', 'save']"
                     data-columns="[
                                     { 'field': 'ProductName', 'width': 270 },
                                     { 'field': 'UnitPrice' },
                                  ]"
                     data-bind="source: products,
                                visible: isVisible,
                                events: {
                                  save: onSave
                                }"
                     style="height: 200px"></div>
    

    JS:

    var viewModel = kendo.observable({
            isVisible: true,
            onSave: function(e) {
                kendoConsole.log("event :: save(" + kendo.stringify(e.values, null, 4) + ")");
            },
            products: new kendo.data.DataSource({
                schema: {
                    model: {
                        id: "ProductID",
                        fields: {
                            ProductName: { type: "string" },
                            UnitPrice: { type: "number" }
                        }
                    }
                },
                batch: true,
                transport: {
                    read: {
                        url: "https://demos.telerik.com/kendo-ui/service/products",
                        dataType: "jsonp"
                    },
                    update: {
                        url: "https://demos.telerik.com/kendo-ui/service/products/update",
                        dataType: "jsonp"
                    },
                    create: {
                        url: "https://demos.telerik.com/kendo-ui/service/products/create",
                        dataType: "jsonp"
                    },
                    parameterMap: function(options, operation) {
                        if (operation !== "read" && options.models) {
                            return {models: kendo.stringify(options.models)};
                        }
                    }
                }
            })
        });
        kendo.bind($("#example"), viewModel);
    

    【讨论】:

    • 你试过我的解决方案了吗?如果您对此有任何问题,请告诉我,否则您可以接受并投票赞成我的回答:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多