Kendo Grid Custom Filter Dropbox

时间:2014-04-25 14:09:39

标签: razor kendo-ui grid filtering

我正在尝试使用Kendo Grid的自定义过滤功能。使用Telerik的文档,我尝试按照下面的脚本对网格进行编码。注意“图像类型”列上的“可过滤”属性。当我传入一个简单的布尔值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))

              ))

0 个答案:

没有答案