javascript - MVC Kendo 网格自定义过滤器

标签 javascript asp.net-mvc telerik-grid telerik-mvc kendo-asp.net-mvc

基本上,我正在寻找这个演示的 MVC 版本:

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

这是我目前拥有的:

.Columns(columns =>
        {
            columns.Bound(e => e.ID)
                .Hidden();
            columns.Bound(e => e.SearchFunctionCode)
                .Hidden();
            columns.Bound(e => e.SearchFunctionDesc)                
                .Title("Search Function")
                .Filterable( *** WHAT GOES HERE? *** )
                .HtmlAttributes(new { style = "text-align: center" })
                .HeaderHtmlAttributes(new { style = "text-align: center" });

我是否仍然引用 javascript,还是有其他方法?

<script type="text/javascript">
    function SearchFunctionFilter(element) {
        element.kendoDropDownList({
            dataSource: searchfunctions(),
            optionLabel: "--Select Value--"
        });
    }
</script>

最佳答案

是的,我们需要在 javascript 中定义指定的过滤器函数,如下所示。

.Columns(columns => {
        columns.Template(@<text>@item.FirstName  @item.LastName</text>)
                .ClientTemplate("#=FirstName# #=LastName#")
                .Title("Name");
        columns.Bound(e => e.City)
                .Filterable(filterable => filterable.UI("cityFilter"))
                .Width(200);
        columns.Bound(e => e.Title)
                .Filterable(filterable => filterable.UI("titleFilter"))
                .Width(350);   
    })    
    .Filterable(filterable => filterable
        .Extra(false)
        .Operators(operators => operators
            .ForString(str => str.Clear()
                .StartsWith("Starts with")
                .IsEqualTo("Is equal to")
                .IsNotEqualTo("Is not equal to")
            ))
        )   
    .DataSource(dataSource => dataSource
        .Ajax()
        .Read(read => read.Action("FilterMenuCustomization_Read", "Grid"))
     )
)

<script type="text/javascript">
    function cityFilter(element) {
        element.kendoDropDownList({
            dataSource: {
                transport: {
                    read: "@Url.Action("FilterMenuCustomization_Cities")"
                }
            },
            optionLabel: "--Select Value--"
        });
    }

    function titleFilter(element) {
        element.kendoAutoComplete({
            dataSource: {
                transport: {
                    read: "@Url.Action("FilterMenuCustomization_Titles")"
                }
            }
        });
    }
</script>

看到这个

http://demos.telerik.com/aspnet-mvc/grid/filter-menu-customization

关于javascript - MVC Kendo 网格自定义过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23940399/

相关文章:

asp.net - 这个 Telerik.Web.UI.dll 可以免费使用吗?

c# - 如何使用 Linq 表达式在 Telerik Radgridview 中查找隐藏列

javascript - 遍历 JSONObject 并打印 html

javascript - Angular js中的字符串到子字符串的转换

asp.net-mvc - MVC 2 - 预览版发布后是否可以轻松升级到 Beta 版?

c# - ViewBag SelectList 中的选定值不起作用

javascript - 根据总 <li> jQuery 更新 HTML 属性

javascript - 如何使用 php sql 查询让事件显示在日历中?

asp.net-mvc - 项目 Windsor - 存储库扩展 DataContext

asp.net - 如何以编程方式(通过数据绑定(bind))切换 ASP.NET AJAX Telerik 组件的列可见性?