我对Kendo UI完全不熟悉,所以也许我错过了一些东西,但在阅读了docs API:
http://docs.kendoui.com/api/framework/model后,似乎Kendo仅限于使用单个ID.
例如,假设我有一个网格,其中每一行都由一对值标识(因为基础数据具有这样的约束).那么,如果我读得正确,在剑道中没有直接表达方式吗?
我能想到的一个解决方法是创建一些ad-hoc值,它是编码的id,如“value1 | value2”(字符串),当从UI获取数据时,将它们解码回来.
还有更明确的方法吗?
具体的例子
专注于实质性的事情:
http://demos.kendoui.com/web/grid/editing-inline.html
.Model(model => model.Id(p => p.ProductID))
就我而言,它将是(我能想到的最简单的方式):
.Model(model => model.Id(p => p.ProductComboId1Id2))
其中ProductComboId1Id2是如上所述编码的字符串.
解决方案(有点)
请参阅页面底部,这是Kendo安装的问题.安装程序脚本没有安装一个关键的.js文件,整个框架变得奇怪.我的问题是那些不当行为之一.
解决方法
您可以在单个网格上使用多个ID.下面我已经包含了声明它们的语法以及如何通过javascript访问它们.
宣言
.Model(model => { model.Id(i => i.ProductID); model.Id(i => i.ProductID2); })
访问
function GetIDs() { var itemGrid = $("#GRIDNAME").data("kendoGrid"); var dataItem = itemGrid.dataItem($(this)); var ID1 = dataItem.ProductID; var ID2 = dataItem.ProductID2;}
columns.Command(command => { command.Custom("Edit").Text("Edit").Click("GetIDs"); command.Destroy(); });