【问题标题】:Kendo Grid - Customize Filter RowKendo Grid - 自定义过滤器行
【发布时间】:2014-10-02 18:57:29
【问题描述】:

Kendo Grid 中有一个名为“Filter Row”的功能

http://demos.telerik.com/kendo-ui/grid/filter-row

我想在过滤器框中添加一个下拉列表而不是文本框或数字框。它用于过滤具有国家/地区的列。所以我想要一个下拉列表中的国家列表。我该怎么做?

【问题讨论】:

  • 我也在尝试这样做。到目前为止,我已经到了我的过滤器下拉但在选择一个值后重置为 0 并且发送到 ajax 请求的过滤器请求为空的地步。

标签: telerik kendo-grid


【解决方案1】:

它与自定义过滤器菜单 (http://demos.telerik.com/kendo-ui/grid/filter-menu-customization) 非常相似。我犯了不使用valuePrimitive: true的错误。您可能不希望在您的情况下使用它,但请记住这一点。

这是一个示例:http://dojo.telerik.com/OKaS

此外,过滤器菜单应该占用列的编辑器模型,但它并不总是您想要的。

编辑

从 2014 Q2 SP1 开始,模板函数现在接收包含“数据源”和“元素”的对象。在我的示例中,您必须将下拉初始化从“container.kendoDropDownList”更改为“container.element.kendoDropDownList”。在我的示例中,数据源是空的,但我假设这可用于将选择传递给控件,​​而无需另一个数据源或外部化您的当前。我没有尝试过这个功能,但我建议你在盲目取样之前先做。

【讨论】:

  • 我不明白这对你有什么作用。当我尝试将函数调用为模板时,我收到错误消息,.kendoDropDownList 未定义 container。如果我将函数绑定到ui,它甚至看不到参数,尽管没有错误。无论哪种方式,我都无法让它工作,除了将 .kendoDropDownList 设置为 document.ready 上的 html 元素,它可以工作但很难看。
  • 为什么我的回答被否决了? @MarkoStanojevic您可以发布您尝试过的示例吗?我的示例有效,因此除非我知道您的做法有所不同,否则我无话可说。
  • 好的,我发布了我是如何尝试的。如果您发现有问题,请告诉我。如果没有,我想我需要扩大样本。与您的示例一样,包含相同的脚本,即kendo.all.min.jsangular.min.js。谢谢。
  • 这当然不值得投反对票。该示例有效,并且解释清楚。我和提问者有同样的问题,多亏了 Pluc,我才得以解决。解释使用 container.element 的编辑是为我解决的问题。这也应该被标记为答案,因为如果它仍然不适合您,那么您很可能遇到了配置问题。
【解决方案2】:

正如前面提到的 Pluc valuePrimitive: true 将帮助您为网格/列创建自定义过滤器以将 id 发送到您的控制器,如果您不使用将此属性设置为 true,您将在控制器中收到一个对象而不是一个数字, 转换不会自动进行。截至 2019 年,这仍然有效

【讨论】:

    猜你喜欢
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    • 2018-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多