如何为kendo ui网格编写自定义选择器窗口小部件?

时间:2014-08-22 05:12:41

标签: kendo-ui kendo-grid kendo-dropdown kendo-datetimepicker

我想将自定义编辑器添加到kendo网格中的特定字段。目标单元格必须显示一个图标(类似于下拉列表),点击后我需要一个窗口/表单弹出窗口,包含表单元素和网格。有可能吗?

1 个答案:

答案 0 :(得分:1)

是的,有可能。您可以使用列的template选项创建图标。这是一个完整的演示:

  <div id="grid"></div>

  <div id="popup">
    <select data-bind="value: brand">
      <option>Mercedes</option>
      <option>BMW</option>
    </select>
    <button class="k-button" id="done">Done</button>
  </div>

  <script>
    $("#grid").kendoGrid({
      dataSource: {
        data: [
          { brand: "BMW" }
        ]
      },
      columns: [
        { field: "brand" },
        { 
          template: '<button class="k-button" onclick="edit(\'#= uid #\')">Change brand</button>'
        }
      ]
    });

    $("#popup").kendoWindow({
      visible: false
    }).on("click", "#done", function() {
      var popup = $("#popup").data("kendoWindow");
      popup.close();
    });

    function edit(uid) {
      var grid = $("#grid").data("kendoGrid");
      var dataItem = grid.dataSource.getByUid(uid);

      kendo.bind("#popup", dataItem);

      var popup = $("#popup").data("kendoWindow");
      popup.center().open();
      var popup = $("#popup").data("kendoWindow");
      popup.center().open();
    }

  </script>