gpt4 book ai didi

kendo-ui - Kendo Grid 使用枚举进行过滤

转载 作者:行者123 更新时间:2023-12-02 18:54:39 26 4
gpt4 key购买 nike

我的模型包含一个枚举,我想在通过 AJAX 加载网格时对其进行过滤。

.cshtml代码:

@(Html.Kendo().Grid()
.Name("Grid")
.Columns(columns =>
{
columns.Bound(x => x.Type);
columns.Bound(x => x.Status); @*This is my enum*@
})
.Filterable()
.DataSource(ds => ds
.Ajax()
.ServerOperation(true)
.Filter(filter => filter.Add(x => x.Status).IsEqualTo(MyEnum.Updated))
.Read(read => read.Action("QueryAlerts", "Alert"))))

AJAX POST 上的过滤器请求被视为 Status~eq~'updated'并返回 Input string was not in a correct format错误。

我删除了对数据源的过滤,并使用过滤控件来查看该请求通常如何传递,如下所示:Status~eq~2 .

我尝试将过滤器值转换为整数(例如 filter.Add(x => (int)x.Status).IsEqualTo((int)MyEnum.Updated) ),这会导致从模型到 Int32 的无效转换错误,这是 Add 方法所期望的。

可以使用 Razor 解决此问题还是 JavaScript 修复?

最佳答案

您的 x.Status 是什么数据类型?如果它是一个 int 那么你不需要转换它,只需要枚举:

filter.Add(x => x.Status).IsEqualTo((int)MyEnum.Updated)

关于kendo-ui - Kendo Grid 使用枚举进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15958182/

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