带有内联可编辑列表的Kendo网格

时间:2015-05-24 13:01:17

标签: jquery user-interface kendo-ui widget inline-editing

我需要使用可编辑的条目实现网格。实体字段之一是字符串列表。例如,它是一个订单列表,每个订单可能有几个跟踪号。所以我需要它来实现一个小部件,它将支持显示实体列表,添加和删除项目的能力。而且(最重要的是)它必须在Kendo网格中工作。

所以我构建了一个示例小部件......

(function (jQuery) {

var ui = kendo.ui;
var Widget = ui.Widget;

var TrackingNumbersList = Widget.extend({
    addEntryToList: function (event, value) {
        if (value == undefined) {
            var value = this.valueInput.val();
            if (value != null && value != "") {
                this.addEntryToList(event, value);
            }
        } else {
            this.domElement.find("div#valuesContainer").append($j("<div valueContainer></div>").html(value));
            this.valueInput.val('');
        }
    },
    clear: function () {
        this.domElement.find("div[valueContainer]").remove();
    },
    renderInterface: function () {
        var that = this;

        this.domElement.append("<div id='valuesContainer'></div>");
        this.valueInput = $j("<input id='txtValue' type='text' />");

        this.domElement.append(
        $j("<div></div>").append(this.valueInput)
        .append($j("<input type='button' value='Add' />").click($j.proxy(that.addEntryToList, that)))
        .append($j("<input type='button' value='Delete all' />").click($j.proxy(that.clear, that)))
        );
    },
    init: function (element, options) {
        this.domElement = $j(element);
        this.renderInterface();
        Widget.fn.init.call(this, element, options);
        this.element = element;
    },

    options: { name: "TrackingNumbersList" },
    value: function () {
        var result = [];
        this.domElement.find("div[valueContainer]").each(function (index, el) {
            result.push($j(el).html());
        });
        return result;
    },
    value: function (val) {
        this.clear();
        var that = this;
        $j(val).each(function (index, value) {
            that.addEntryToList(null, value);
        });
    }
});
ui.plugin(TrackingNumbersList);})(jQuery);

现在我想问一下是否有人知道如何让这些东西在Kendo Grid中运行。感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

如果我理解正确,kendo multi select control应该可以胜任。我认为在剑道网格中使用会更容易

答案 1 :(得分:0)

尝试使用网格内联编辑的EditorTemplate,这可以解决您的问题

答案 2 :(得分:0)

您可以像这样使用Editing-inline。您可以在kendo网格中添加,编辑和删除记录。