Как добавить новый объект в источник данных кендо-сетки с помощью jQuery? - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь добавить новый объект в кендо-сетку jQuery, но если я добавлю через всплывающее окно, объект заменяется.В этом коде я пытаюсь вытолкнуть данные из этой переменной gridData1, но это не отражается в сетке кендо.

<script>
  $(function() {
    var gridData = [];
    var gridDataNextID = gridData.length + 1;
    var gridDataSource = new kendo.data.DataSource({
      transport: {
        read: function(options) {
          options.success(gridData);
        },
        update: function(options) {
          options.success();
        },
        create: function(options) {
          console.log("options: ", options);
          var gridData1 = {
            Column: {
              FieldsID: 1003667,
              FieldsName: "Control Number"
            },
            Condition: {
              textName: "==",
              valueN: "Is"
            },
            ID: 2,
            LogicalOperator: {
              operator: "||",
              operatorValue: "OR"
            },
            enterValueTxt: "mnb"
          };
          grid.dataSource.data(gridData1);
          grid.options.columns = columns;
          options.data.ID = gridDataNextID++;
          gridData.push(options.data);
          options.success(options.data);
          grid.refresh();
        }
      },
      schema: {
        model: {
          id: "ID",
          fields: {
            ID: {
              type: "number",
              editable: false
            },
            Column: {
              defaultValue: {
                "FieldsID": 1003667,
                "FieldsName": "Control Number"
              }
            },
            Condition: {
              defaultValue: {
                textName: "==",
                valueN: "Is"
              }
            },
            enterValueTxt: {
              defaultValue: null
            },
            LogicalOperator: {
              defaultValue: {
                operator: "||",
                operatorValue: "OR"
              }
            }
          }
        }
      }
    });
    $("#grid").kendoGrid({
      columns: [{
          field: "Column",
          title: "Column Name",
          template: "#: Column.FieldsName #"
        },
        {
          field: "Condition",
          title: "Condition Name",
          template: "#: Condition.textName #"
        },
        {
          field: "enterValueTxt",
          title: "Value",
          template: "#: enterValueTxt #"
        },
        {
          field: "LogicalOperator",
          title: "Logical Operator",
          template: "#:LogicalOperator.operatorValue #"
        },
        {
          command: ["edit", "destroy"]
        }
      ],
      toolbar: [{
        name: "create",
        text: "Add / Edit Record"
      }],
      editable: {
        mode: "popup",
        window: {
          width: 415,
          title: "Add / Edit",
        },
        template: $("#popupTemplate").html()
      },
      edit: function(e) {
        initDropDownLists();
      },
      autoBind: true,
      dataSource: gridDataSource
    });
    $('#grid').data('kendoGrid').refresh();
  });
</script>
...