DevExtreme - ODataStore Url
DevExtreme - ODataStore Url
我有一个 ODataStore:
var storeUsers = new DevExpress.data.ODataStore({
type: "odata",
jsonp: false,
url: SERVICE_URL,
key: "FEATID",
keyType: "Int32"
});
数据库是 Oracle,FEATID
是 Number(38)
数据类型。 ODataStore
用于 dxDataGrid
。
当我更新或删除一行 dxDataGrid
时,我总是出现 Bad request, error in query syntax
的错误。
经过一番研究后,我发现问题出在 url,目前如果 keyType
是 Int32
,那么 url 就是
http://.../DataService.svc/PX_USERS(7)
如果我将 keyType 更改为 Int64,则 url 变为
http://.../DataService.svc/PX_USERS(7L)
但是对于我的数据库,为了工作,url 应该是:
http://.../DataService.svc/PX_USERS(7M)
但我不知道如何更改 url。我试图在列中静态添加一个M,但后来它变成了一个String
,它仍然是错误的..
如果您的 OData 需要带有 "M" 的密钥,则密钥类型为 Decimal。请参阅 Primitive Data Types OData 帮助主题。因此,将 keyType 选项设置为 'Decimal' 来解决问题。
var storeUsers = new DevExpress.data.ODataStore({
type: "odata",
jsonp: false,
url: SERVICE_URL,
key: "FEATID",
keyType: "Decimal"
});
我有一个 ODataStore:
var storeUsers = new DevExpress.data.ODataStore({
type: "odata",
jsonp: false,
url: SERVICE_URL,
key: "FEATID",
keyType: "Int32"
});
数据库是 Oracle,FEATID
是 Number(38)
数据类型。 ODataStore
用于 dxDataGrid
。
当我更新或删除一行 dxDataGrid
时,我总是出现 Bad request, error in query syntax
的错误。
经过一番研究后,我发现问题出在 url,目前如果 keyType
是 Int32
,那么 url 就是
http://.../DataService.svc/PX_USERS(7)
如果我将 keyType 更改为 Int64,则 url 变为
http://.../DataService.svc/PX_USERS(7L)
但是对于我的数据库,为了工作,url 应该是:
http://.../DataService.svc/PX_USERS(7M)
但我不知道如何更改 url。我试图在列中静态添加一个M,但后来它变成了一个String
,它仍然是错误的..
如果您的 OData 需要带有 "M" 的密钥,则密钥类型为 Decimal。请参阅 Primitive Data Types OData 帮助主题。因此,将 keyType 选项设置为 'Decimal' 来解决问题。
var storeUsers = new DevExpress.data.ODataStore({
type: "odata",
jsonp: false,
url: SERVICE_URL,
key: "FEATID",
keyType: "Decimal"
});