【问题标题】:How to set default value for kendo dropdown filter in grid's header如何在网格标题中设置剑道下拉过滤器的默认值
【发布时间】:2016-02-18 11:03:23
【问题描述】:

情况如下:我们有一个带有列的剑道网格,在一列中我们有一个用于过滤目的的剑道下拉列表。客户端基于angularjs,服务器端基于c#。那么,是否可以在不知道它的 id 的情况下为 kendo 下拉菜单设置默认值?我正在搜索第二天,在 web/teletrik 文档中找不到任何内容。

代码

$scope.GridOptions =
            {
                pageable: { refresh: true, pageSizes: true },
                columns: [
                    // other columns here
                    {
                        field: "RegistrationStatus", title: "Status", width: 13,
                        filterable: {
                            operators: {
                                string: {
                                    eq: "Is equal to",
                                    neq: "Is not equal to"
                                }
                            },
                            ui: function(element) {
                                element.kendoDropDownList({
                                    dataSource: [
                                        { Name: "Registered", Value: "PassedInterview" },
                                        { Name: "Pending", Value: "PassedInterview" },
                                        { Name: "Rejected", Value: "Rejected" }
                                    ],
                                    dataTextField: "Name",
                                    dataValueField: "Value",
                                    optionLabel: "--Select Status--"
                                    defaultValue: "PassedInterview" // smth like this, is this possible? or achieve in any other methods instead of taking dropdown id, which I dont know because this is hided inside
                                });
                            }
                        }
                    }
                ],
                sortable: true,
                filterable: true,
                selectable: 'row',
                editable: 'inline'
            };

【问题讨论】:

    标签: c# angularjs kendo-ui kendo-grid kendo-dropdown


    【解决方案1】:

    我让它在初始化后设置value

    element.data("kendoDropDownList").value("PassedInterview"); 
    

    Demo. 请注意,如果您愿意,也可以使用select() 方法。

    问题是,不知道为什么,但您不能在小部件创建后立即调用它,您必须使用window.setTimeout()。我知道,它很丑。但是在创建和显示过程之间的某个地方,您的函数有点忽略,如果直接调用它就不起作用。这就是为什么计时器(尝试不带它并自己检查)。

    我也尝试在创建参数中设置valueindex,但没有一个起作用(它们实际上应该)。

    【讨论】:

    • 谢谢你的回答,是的,价值和指数不起作用,不知道为什么。显示了该值,但该值未绑定到它。错过 element.data("kendoDropDownList").trigger("change");一天剑道节省了很多时间,另一天让人疯狂%)
    • @Rakstit 当然。剑道上的某些东西根本没有意义。我有这个setTimeout 技巧,因为我不得不在其他场合使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多