Javascript 如何在剑道网格中添加具有预定义数据的新行?
我正在尝试使用从另一个剑道网格中选择的数据向剑道网格添加新行。它显示一个空白行,但没有数据。这是我的密码:Javascript 如何在剑道网格中添加具有预定义数据的新行?,javascript,jquery,kendo-ui,kendo-grid,kendo-asp.net-mvc,Javascript,Jquery,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,我正在尝试使用从另一个剑道网格中选择的数据向剑道网格添加新行。它显示一个空白行,但没有数据。这是我的密码: var PunishmentGridDataSource = new kendo.data.DataSource({ schema: { model: { id: "DICP_ACTN_TYPE_CODE", fields: {
var PunishmentGridDataSource = new kendo.data.DataSource({
schema: {
model: {
id: "DICP_ACTN_TYPE_CODE",
fields: {
DICP_ACTN_TYPE_SLNO: { editable: false },
DICP_ACTN_TYPE_CODE: { editable: false },
DICP_ACTN_TYPE_NAME: { editable: false }
}
}
},
pageSize: 5,
data: [
{ DICP_ACTN_TYPE_SLNO: "1", DICP_ACTN_TYPE_CODE: "1", DICP_ACTN_TYPE_NAME:"aa" }]
});
var PunishmentGrid = $("#PunishmentGrid").kendoGrid({
dataSource: PunishmentGridDataSource,
pageable: true,
editable: 'false',
selectable: "row",
navigatable: true,
filterable: true,
sortable: true,
groupable: true,
scrollable: true,
width: '250PX',
height: '200PX',
columns: [
{ field: "DICP_ACTN_TYPE_SLNO", title: "SL.", filterable: false, width: "30px" },
{ field: "DICP_ACTN_TYPE_CODE", title: "Code", filterable: false, width: "50px" },
{ field: "DICP_ACTN_TYPE_NAME", title: "Name", filterable: true, width: "120px" }
]
});
//Handling Yes button click for grid row Selection
$('#btnListOfValue2OK').click(function (idx, elem) {
ClearOperationMsgTextBoxRedColor();
var grid = $("#ListOfValueWindowGrid2").data("kendoGrid");
var selectedItem = (grid.dataItem(grid.select()));
var rows = grid.select(); // Can I select multiple rows by this & bind directly to the data source of another grid??
var obj = [{ DICP_ACTN_TYPE_SLNO: selectedItem.DICP_ACTN_TYPE_SLNO, DICP_ACTN_TYPE_CODE: selectedItem.DICP_ACTN_TYPE_CODE, DICP_ACTN_TYPE_NAME: selectedItem.DICP_ACTN_TYPE_NAME }];
var ds = $("#PunishmentGrid").data("kendoGrid").dataSource;
ds.add(obj);
ds.data();
CloseListOfValueDialog2();
});
可能是我遗漏了一些非常基本的东西。请帮我弄清楚 我尝试了一个类似的设置,效果如预期:
$("button").click(function() {
var parent = $("#parent-grid").data("kendoGrid");
var child = $("#child-grid").data("kendoGrid");
var selectedDataItem = parent.dataItem(parent.select());
if (selectedDataItem) {
child.dataSource.add({
foo: selectedDataItem.foo
});
}
});
这里是一个现场演示:我尝试了一个类似的设置,它可以正常工作:
$("button").click(function() {
var parent = $("#parent-grid").data("kendoGrid");
var child = $("#child-grid").data("kendoGrid");
var selectedDataItem = parent.dataItem(parent.select());
if (selectedDataItem) {
child.dataSource.add({
foo: selectedDataItem.foo
});
}
});
这里是一个实时演示:您的代码乍一看是正确的,请用JsBin演示,以便我们仔细查看。您的代码乍一看是正确的,请用JsBin演示,以便我们仔细查看。是的,我昨天解决了这个问题。但是你的答案是正确的。是的,我昨天解决了这个问题。但是你的答案是正确的。