我有一个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,则网址变为
http://.../DataService.svc/PX_USERS(7L)
但是对于我的数据库,为了正常工作,URL应该是:
http://.../DataService.svc/PX_USERS(7M)
但我不知道如何更改网址。我试图将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"
});
关于javascript - DevExtreme-ODataStore网址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38695354/