2017-06-12 49 views
1

我想一个过滤器添加到剑道Grid.It的列应如下:“项目模板”剑道电网滤波器的功能是显示未定义

enter image description here

我试着用

columns.Bound(e => e.Status).Filterable(ftb => ftb.Multi(true)).CheckAll(false)` and `.Filterable(filterable => filterable.Extra(false).Mode(GridFilterMode.Menu) 

它看起来像这样

enter image description here

我无法捕获复选框检查操作,也需要禁用按钮,外观与实际不同。所以我想我可以使用ItemTemplate选项。这是我试过的代码

columns.Bound(e => e.Status).Filterable(ftb => ftb.Multi(true).ItemTemplate("funcStatus")) <script>function funcStatus() 
{ 
alert("hello"); 
}</script> 

它显示“funcStatus”未定义。 ItemTempalte函数有什么问题?如何更改过滤器弹出窗口的外观和感觉?所以,现在

.Filterable(filterable => filterable.Messages(m => { m.IsFalse("Invalid"); m.IsTrue("Valid"); m.Info("Show items with value:"); })

,而不是过滤器说“真”,它会说“有效”:

+0

ItemTemplate通常会返回要呈现的html:http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#configuration-columns.filterable.itemTemplate –

+0

我最初尝试使用html内容,因为它没有工作我只是保持警觉只是为了检查功能触发。 – user10101

回答

2

可以使用Messages属性Filterable这样。另外m.Info只是你的过滤器的描述,如果你想要的话。

我从Telerik's example中抓取了这个网格,并将其修剪为一个非常基本的网格。这是你如何使用它。

@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.EmployeeViewModel>()  
    .Name("Grid") 
    .Columns(columns => { 
     columns.Bound(e => e.Status).ClientTemplate("#= Status ? 'Valid' : 'Invalid' #");; 
    })  
    .Filterable(filterable => filterable.Messages(m => { 
     m.IsFalse("Invalid"); m.IsTrue("Valid"); m.Info("Show items with value:"); 
    }) 
    .DataSource(dataSource => dataSource 
     .Ajax() 
     .Read(read => read.Action("FilterMenuCustomization_Read", "Grid")) 
    ) 
) 

点击here查看Telerik的文档获取更多信息。

+0

感谢您的信息,我试着提到的解决方案,它不工作。筛选选项仍然是“真”,“假”而不是“有效”,“无效”。 – user10101

+0

你能编辑你的原始文章并添加网格代码吗?也许我们可以从中找到问题。 – Supersnake

0

我用BindTo函数来获取过滤器名称。

columns.Bound(e => e.Status).Filterable(ftb => ftb.Multi(true).CheckAll(false).BindTo(
          new[]{ 
           new { Status = "Valid" }, 
           new { Status = "Invalid" } 
          })) 

,并在过滤的代码应该是这样的

.Filterable(filterable => filterable 
        .Extra(false) 
        .Mode(GridFilterMode.Menu) 
        ) 

注:状态是一个字符串属性,映射到状态栏和过滤器名称的值应该是相同的过滤器不工作差异。

+0

我能够获得过滤器,但我有其他功能。我可以通过绑定到函数来添加ID到复选框吗?点击重置时,我需要保留先前选择的过滤器。 – user10101