Подтвердить что ты не робот

Сетка Кендо с встроенным редактируемым списком

Мне нужно реализовать сетку с редактируемыми элементами. Одним из полей сущностей является список строк. Например, в списке заказов и в каждом заказе может быть несколько идентификационных номеров. Поэтому мне нужно это, чтобы реализовать виджет, который будет поддерживать отображение списка сущностей, возможность добавлять и удалять элементы. И (самое главное) он должен работать в сетке Кендо.

Итак, я создал образец виджета...

(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. Цените любую помощь.

4b9b3361

Ответ 1

Если вы правильно поняли, kendo multi select control должен выполнить эту работу. Я думаю, что было бы гораздо проще использовать в сетке кендо

Ответ 2

Попробуйте редакторTemplate с встроенным редактированием сетки. Это может решить вашу проблему.

Ответ 3

Вы можете использовать Editing-inline. Вы можете добавлять, редактировать и удалять запись в сетке кендо.