Kendo ui 剑道UI模式模型ID是如何工作的?

Kendo ui 剑道UI模式模型ID是如何工作的?,kendo-ui,Kendo Ui,模式ID真的让我很困扰 我想要的逻辑是: 在网格a中打开一个模式弹出窗口,并将模式弹出窗口中选定的数据选择行添加为网格a中的新行 最后,我们通过saveChanges事件确认这一点 这种行为非常有效,但有些事情我不明白 schema: { data : 'list' , model: { id: 'prodNo', fields: { orderDSeq: { editable: false }, o

模式ID真的让我很困扰

我想要的逻辑是:

在网格a中打开一个模式弹出窗口,并将模式弹出窗口中选定的数据选择行添加为网格a中的新行

最后,我们通过saveChanges事件确认这一点

这种行为非常有效,但有些事情我不明白

schema: {
    data : 'list' ,
    model: {
        id: 'prodNo',
        fields: {
            orderDSeq: { editable: false },
            orderNo: { editable: false },
            prodNo: {type: 'string'},
            mtrlQt: {type: 'string'},
            prodSize: {type: 'string'},
            prodUnit: {type: 'string'},
            orderQnt: {type: 'string'},
            presentStkQnt: {type: 'string'},
            prodPrice: {type: 'string'},
            totalPrice: {type: 'string'},
            spplLimitDt: {type: 'string'},
            reMark: {type: 'string'}
上面是网格的模式,并且

schema: {
    data: 'list',
    model: {
        id: 'key',
        fields: {
             prodNm: {type: 'string'},
             orderNo: {type : 'string'},
             prodNo: { type: 'string' },
             mtrlQt: { type: 'string' },
             prodSize: { type: 'string' },
             sStk: { type: 'string' },
             prodPrice: { type: 'string' }
上面是模式弹出模式

它有点小,但结构非常相似

这里的关键问题

这不是关于网格,而是关于模式弹出窗口的模式ID

对网格A所做的任何更改都不会影响此操作

据我所知,模式模型中的KeyID应该是其中一个值​​实际字段的名称

但是,如果将其设置为实际字段之一,则saveChanges事件将不会检测到网格更改。例如,id:prodNm,id:prodNo。。。我这样做是因为一些信息告诉我从字段中排除关键数据,但结果是一样的

但是,如果我将ID值指定为任意随机字符,则效果非常好

任何像id:key,id:sound,id:stick这样的词。。对字段中不存在的任何字符执行此逻辑

请让我理解这种行为

模型ID如何影响此逻辑


ID是检测更改的重要键,但我无法理解这种毫无根据的行为。

它用于确定创建还是更新。如果该字段为零,则将其视为更新。否则,将更新具有该ID的记录。必须是独一无二的。谢谢你的回答,但我知道得很清楚。它用于检测更改点,并且密钥必须是唯一的。但我已经读到,实域中存在一个值,作为一个更必要的条件。但是,如果这样做,它将不起作用,并且只有将无意义的字符设置为ID键时,它才会起作用。为什么?