我正在尝试使用枚举字段过滤网格数据源。
似乎OData api已经弃用/删除了在服务器端处理前缀无Enums的能力。
我将以下内容添加到网格的过滤器中。
let fd1: FilterDescriptor = {
field: 'orderStatus',
operator: 'eq',
value: "SOPSModel.OrderStatusEnum'Open'",
ignoreCase: false
}
this.filter.filters.push(fd1);
问题似乎是kendo-data-query中提供的toOdataString函数将Enum标识为字符串,然后引用并转义它,这使得服务器端API拒绝枚举并失败。
我设置了自己的过滤器解析器,它工作正常,但是添加到Grid的新过滤选项我真的需要一个合适的解决方案。
那么,有没有人能指出我对Telerik如何处理OData Enums的方向?
答案 0 :(得分:0)
我使用以下示例完成了运输参数映射的更改:
类似的东西:
dataSource: {
type: "odata-v4",
transport: {
read: {
dataType: "json",
url: datasourceURL
},
parameterMap: function (data, type) {
var c = kendo.data.transports["odata-v4"].parameterMap(data, type);
// transform your c exactly how you wish to make the call to the service and put it on a string
return c;
}