gpt4 book ai didi

javascript > Kendo grid > 动态列过滤不起作用

转载 作者:行者123 更新时间:2023-12-03 02:00:31 25 4
gpt4 key购买 nike

我正在使用剑道网格来显示来自 viewModel 的信息。 View 模型包含:

[DisplayName("Received Date")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime? ReceivedDate { get; set; }

[DisplayName("Received Month")]
public string ReceivedMonth { get { return (this.ReceivedDate == null ? "" : this.ReceivedDate.Value.ToString("MMMM")); } }

我已将剑道网格设置如下:

@(Html.Kendo().Grid<ViewModel>()
.Name("Grid")
.HtmlAttributes(new { style = "height:100%; width:100%;" })
.Events(events => events.DataBound("onGridDataBound").Change("onSelectionChange").Save("onGridSave"))
.Scrollable()
.Columns(columns =>
{
columns.Bound(u => u.ReceivedDate).Format("{0:dd/MM/yyyy}").Filterable(c => c.Cell(y => y.Template("datePicker"))).Width("200px");
columns.Bound(u => u.ReceivedMonth)
.Title("Received Date<br/>Month")

})
.NoRecords("No Records to Display")
.Editable(editable => editable.Mode(GridEditMode.InLine))
.AutoBind(true)
.Pageable(pageable => pageable.Refresh(true).PageSizes(new[] { 10, 20, 50, 100, 200 }).ButtonCount(5))
.Sortable()
.Filterable(ftb => ftb.Mode(GridFilterMode.Row))
.Reorderable(r => r.Columns(true))
.Navigatable()
.ColumnMenu()
.EnableCustomBinding(true)
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(true)
.PageSize(10)
.Model(m =>
{
m.Id(i => i.Id);
})
.Read(read => read
.Action("getData", "Data"))
.Update(update => update
.Action("updateViaGrid", "Data"))
)
)
)

但是我无法在 ReceivedMonth 上进行过滤,因为下划线数据源中不存在该列。

我的做法正确吗?我有一个日期列,我希望它旁边有一列仅包含月份,我可以在其中选择一个月,它将返回该月的所有数据。

非常感谢

最佳答案

要快速获胜,请尝试 .ServerOperation(false)。目前,您正在隐式地将过滤器表达式传递给 Kendo 绑定(bind)器以获取不存在的属性。

这将在客户端而不是服务器上执行所有分页、排序、过滤和分组操作。

如果这不适合您的用例,那么您需要在 Model 类中实现 ReceivedMonth 属性,然后您可以过滤服务器端。

关于javascript > Kendo grid > 动态列过滤不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50057789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com