Razor 剑道网格自定义过滤器下拉框
我正在尝试使用剑道网格的自定义过滤功能。使用Telerik的文档,我试图按照下面的脚本对网格进行编码。请注意“图像类型”列上的“filterable”属性。当我传入一个简单的布尔值true或false时,它就起作用了。当我使用Telerik网站上提供的文档并传入一个委托值时,它就崩溃了。我们使用的是剑道版本v2013.3.1324。这是一个已知的问题吗?在这次发布之后,这方面有改进吗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>()
@(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',因为它不是委托类型。”它不允许传入委托类型。是的,函数是根据其示例定义的。您解决过这个问题吗?