Javascript 单击“取消”后,剑道网格弹出编辑器不再打开
我有一个剑道网格与自定义弹出编辑器。我已经使用mvvm绑定将编辑主体定义为剑道模板,但我认为我肯定遗漏了一些东西,因为弹出窗口的行为不符合预期 单击编辑时,弹出编辑器会出现,但如果我使用取消按钮关闭弹出窗口,然后再次单击同一行上的编辑,则编辑器不会出现 此外,使用下拉菜单Javascript 单击“取消”后,剑道网格弹出编辑器不再打开,javascript,kendo-ui,kendo-ui-grid,Javascript,Kendo Ui,Kendo Ui Grid,我有一个剑道网格与自定义弹出编辑器。我已经使用mvvm绑定将编辑主体定义为剑道模板,但我认为我肯定遗漏了一些东西,因为弹出窗口的行为不符合预期 单击编辑时,弹出编辑器会出现,但如果我使用取消按钮关闭弹出窗口,然后再次单击同一行上的编辑,则编辑器不会出现 此外,使用下拉菜单measureStatusId,字段似乎没有发生预期的更改,除非它开始时不是null 我更喜欢在这里使用mvvm,我不认为这种情况是不寻常的,需要滚动我自己的编辑弹出窗口吗 看这个 我认为问题在于您为数据源创建的可观察对象 请检
measureStatusId
,字段似乎没有发生预期的更改,除非它开始时不是null
我更喜欢在这里使用mvvm,我不认为这种情况是不寻常的,需要滚动我自己的编辑弹出窗口吗
看这个
我认为问题在于您为数据源创建的可观察对象 请检查这个 一些变化:
- 将
设置为measureStatusId
和网格模式中的一个数字model
- 将网格
列从status
更改为measureStatus
measureStatusId
- 更改下拉列表的html声明以包括
数据值primitive=“true”
- 更改observable以包含
作为数据源,并更新网格声明以直接使用它,而不是创建新的数据源度量值
PNCC.viewModel = new kendo.observable({
measures: new kendo.data.DataSource({
data: model.measures,
schema: {
model: {
id: "measureId",
fields: {
measureId: { type: "number", editable: false },
target: { type: "string", editable: false },
measureStatusId: { type: "number" },
progress: { type: "string" }
}
}
},
sort: { field: "target", dir: "asc" }
}),
measureStatuses: model.measureStatuses
});
在您的示例中,尽管弹出窗口现在始终按预期显示,但dropdownlist中没有数据。
PNCC.viewModel = new kendo.observable(model);
$("#Measures").kendoGrid({
dataSource: {
data: model.measures,
schema: {
model: {
id: "measureId",
fields: {
measureId: { type: "number", editable: false },
target: { type: "string", editable: false },
completed: { type: "boolean" },
measureStatusId: { type: "string" },
measureStatus: { type: "string" },
progress: { type: "string" }
}
}
},
sort: { field: "target", dir: "asc" }
},
"columns": [
{
"title": "Performance Measures & Targets",
"field": "target",
width: "150px"
},
{
"title": "Year to date progress and next steps",
"field": "progress",
width: "150px"
},
{
"title": "Status",
"field": "measureStatus",
width: "150px"
},
{
"title": "Complete?",
"field": "completed",
width: "150px"
},
{ command: ["edit"], title: " ", width: "75px" }
],
filterable: false,
scrollable: true,
editable: {
mode: "popup",
template: kendo.template($("#popup_editor").html())
}
});
PNCC.viewModel = new kendo.observable({
measures: new kendo.data.DataSource({
data: model.measures,
schema: {
model: {
id: "measureId",
fields: {
measureId: { type: "number", editable: false },
target: { type: "string", editable: false },
measureStatusId: { type: "number" },
progress: { type: "string" }
}
}
},
sort: { field: "target", dir: "asc" }
}),
measureStatuses: model.measureStatuses
});