Пользовательский редактор сетки кендо, как отправить элемент? - PullRequest
0 голосов
/ 26 сентября 2018

Хорошо, у меня есть этот кендогрид

$("#configGrid").kendoGrid({
        columns: [
            {
                title: "Index",
                template: '<span>#: Index #</span>'
            },
            {
                title: "Trigger Bet",
                field: "TriggerBet",
                editor: customEditor(e, 0.01, 2, 0 )
            },
            {
                title: "Rounds Probability",
                field: "RoundsProbability",
                editor: customEditor(e, 10, 0, 0)
            },
            {
                title: "Hot Odds",
                field: "HotOdds",
                editor: customEditor(e, 10, 0, 0)
            },
            {
                title: "Seed amount",
                field: "SeedAmount",
                editor: customEditor(e, 10, 0, 0)
            },
            {
                title: "Contribution",
                field: "Contribution",
                editor: customEditor(e, 0.01, 2, 0)
            }
        ],
        dataSource: {
            data: getConfigDataFromModel().configs,
        },

        editable: true,
        navigatable: true
    });

И, как вы видите, почти все мои столбцы получили это customEditor, куда я хочу отправить сам элемент с этой функцией

function customEditor(e, steps, decimals, min) {

    if (e.container.find("[name]").first().attr("name") == "HotOdds") {
        console.log(e.model.JackpotType + "hello");
        if (e.model.JackpotType === "Progressive jackpot") {
            e.sender.closeCell();
        }
    }
    GJP.createEditor(steps, decimals, min);

}

Проблема в том, что он здесь не определен, так как то, что я посылаю из моего столбца, на самом деле не отправляет элемент.Кто-нибудь знает, как правильно отправить элемент в мою функцию customEditor, чтобы он мог обработать его как задумано?Просматривал документацию по кендо, но я не могу найти никакого решения, которое отправляло бы элемент в качестве параметра в пользовательский редактор.

1 Ответ

0 голосов
/ 26 сентября 2018

customEditor (e, 0.01, 2, 0) - это функция вызов , а не ссылка на функцию, что означает, что она выполняет функцию прямо сейчас , как во время инициализации сеткигде «e» еще не существует (ошибка JavaScript), он не существует, пока не произойдет событие редактирования, когда вы щелкнете по ячейке и кендо вызовет функцию, предоставив «e».

Вам необходимо сделатьваш редактор настраивает ссылку на функцию, а не на немедленное выполнение.И поскольку вы также хотите привязать свои собственные параметры к «e», которое предоставляет кендо, вам понадобится закрытие.

Итак,

Определите конфигурацию вашего редактора как

...
editor: function (e) {
    return customEditor(e, 0.01, 2, 0);
} 

Пример: http://dojo.telerik.com/@Stephen/OcIxEGud

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...