【问题标题】:how to add a new row with pre defined data in kendo grid?如何在剑道网格中添加具有预定义数据的新行?
【发布时间】:2013-11-24 04:34:35
【问题描述】:

我正在尝试使用来自另一个剑道网格的选定数据将新行添加到剑道网格。它显示一个空白行但没有数据。这是我的代码:

        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();

        });

可能是我遗漏了一些非常基本的东西。请帮我找出答案!

【问题讨论】:

  • 您的代码乍一看是正确的,用 JsBin 演示一下,以便我们仔细查看。

标签: javascript jquery kendo-ui kendo-grid kendo-asp.net-mvc


【解决方案1】:

我尝试了一个类似的设置,它按预期工作:

$("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
    });
  }
});

这是一个现场演示:http://jsbin.com/EpeMiwe/1/edit

【讨论】:

  • 是的,我昨天解决了这个问题。但你的答案是正确的。
猜你喜欢
  • 2013-06-05
  • 1970-01-01
  • 2016-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多