Razor 剑道网格自定义过滤器下拉框

Razor 剑道网格自定义过滤器下拉框,razor,kendo-ui,grid,filtering,Razor,Kendo Ui,Grid,Filtering,我正在尝试使用剑道网格的自定义过滤功能。使用Telerik的文档,我试图按照下面的脚本对网格进行编码。请注意“图像类型”列上的“filterable”属性。当我传入一个简单的布尔值true或false时,它就起作用了。当我使用Telerik网站上提供的文档并传入一个委托值时,它就崩溃了。我们使用的是剑道版本v2013.3.1324。这是一个已知的问题吗?在这次发布之后,这方面有改进吗 @(Html.Kendo().Grid<OKN02.Models.ImagingEvent>()

我正在尝试使用剑道网格的自定义过滤功能。使用Telerik的文档,我试图按照下面的脚本对网格进行编码。请注意“图像类型”列上的“filterable”属性。当我传入一个简单的布尔值true或false时,它就起作用了。当我使用Telerik网站上提供的文档并传入一个委托值时,它就崩溃了。我们使用的是剑道版本v2013.3.1324。这是一个已知的问题吗?在这次发布之后,这方面有改进吗

@(Html.Kendo().Grid<OKN02.Models.ImagingEvent>()
              .Name("grid")
              .Filterable()
              .Sortable()
              .Pageable(pageable => pageable
                 .Refresh(true)
                 .PageSizes(true)
                 .ButtonCount(5))
              .Scrollable()
              .Selectable(selectable => selectable.Mode(GridSelectionMode.Single))
              .Columns(columns =>
              {
                  columns.Bound(p => p.ImagingEventId).Hidden();
                  columns.Bound(p => p.PatientName).Title("Patient Name").Width(90);
                  columns.Bound(p => p.PatientDOB).Title("DOB").Width(40);
                  columns.Bound(p => p.Prescriber).Title("Prescriber").Width(80);
                  columns.Bound(p => p.Site).Title("Site").Width(60);
                  columns.Bound(p => p.ConfirmationsComplete).Title("Confirmations       Complete").Width(90);
                  columns.Bound(p => p.ImagingDate).Title("Imaging Date").Format("{0:yyyy/MM/dd hh:mm tt}").Width(80);
                  columns.Bound(p => p.ImageType)
                      //.Title("Image Type")
                      .Filterable(filterable => filterable.UI("ImageTypeFilter"))
                      //.Filterable(true)
                      .Width(40);
                  columns.Bound(p => p.OverallStatus).Title("Overall Status").ClientTemplate("#= buildStatusTemplate(OverallStatus) #").Width(40);
              })
              .Filterable(filterable => filterable
                   .Extra(true)
                   .Operators(operators => operators
                   .ForString(str => str.Clear()
                       .StartsWith("Starts with")
                       .IsEqualTo("Is equal to")
                       .IsNotEqualTo("Is not equal to")
                ))
              )

              .Events(events =>
               {
                   events.Change("GridChange");
               })
              .DataSource(dataSource => dataSource
                  .Ajax()
                  .Model(model =>
                  {
                      model.Id(p => p.ImagingEventId);
                      model.Field(p => p.PatientName);
                      model.Field(p => p.PatientDOB);
                      model.Field(p => p.Prescriber);
                      model.Field(p => p.Site);
                      model.Field(p => p.ImagingDate);
                      model.Field(p => p.ImagingType);
                  })
                  .PageSize(15)
                  .Read(read => read.Action("MDPortalFiles_Read", "MDPortal").Type(HttpVerbs.Post))

              ))
@(Html.Kendo().Grid())
.名称(“网格”)
.可过滤()
.Sortable()
.Pageable(Pageable=>Pageable
.刷新(真)
.页面大小(真)
.按钮计数(5))
.Scrollable()
.Selectable(可选=>Selectable.Mode(GridSelectionMode.Single))
.列(列=>
{
columns.Bound(p=>p.ImagingEventId.Hidden();
columns.Bound(p=>p.PatientName).Title(“患者姓名”).Width(90);
列。绑定(p=>p.PatientDOB)。标题(“DOB”)。宽度(40);
列。绑定(p=>p.Prescriber)。标题(“Prescriber”)。宽度(80);
列。绑定(p=>p.Site)。标题(“Site”)。宽度(60);
列。绑定(p=>p.confirmationcomplete)。标题(“confirmationcomplete”)。宽度(90);
columns.Bound(p=>p.ImagingDate).Title(“成像日期”).Format(“{0:yyyy/MM/dd hh:MM tt}”).Width(80);
columns.Bound(p=>p.ImageType)
//.标题(“图像类型”)
.Filterable(Filterable=>Filterable.UI(“ImageTypeFilter”))
//.可过滤(真)
.宽度(40);
columns.Bound(p=>p.OverallStatus).Title(“总体状态”).ClientTemplate(“#=buildStatusTemplate(OverallStatus)#”)。宽度(40);
})
.Filterable(Filterable=>Filterable
.额外(真实)
.Operators(Operators=>Operators
.ForString(str=>str.Clear()
.StartsWith(“以开头”)
.IsEqualTo(“等于”)
.IsNotEqualTo(“不等于”)
))
)
.Events(Events=>
{
事件变更(“网格变更”);
})
.DataSource(DataSource=>DataSource
.Ajax()
.Model(Model=>
{
model.Id(p=>p.ImagingEventId);
model.Field(p=>p.PatientName);
model.Field(p=>p.PatientDOB);
模型字段(p=>p.Prescriber);
model.Field(p=>p.Site);
模型字段(p=>p.ImagingDate);
model.Field(p=>p.ImagingType);
})
.页面大小(15)
.Read(Read=>Read.Action(“MDPortalFiles_Read”,“MDPortal”).Type(HttpVerbs.Post))
))

它会中断
并不能真正识别您看到的行为。你有错误吗?您是否在某处定义了ImageTypeFilter函数?我在你的帖子里没有看到。对不起,是的,我的描述不太准确。具体地说,“.Filterable(Filterable=>”部分上方会显示一条消息,说明“CS1660:无法将lambda表达式转换为类型'bool',因为它不是委托类型。”它不允许传入委托类型。是的,函数是根据其示例定义的。您解决过这个问题吗?