Как мне получить JSGridControl, используя Javascript в SharePoint 2013?

Я попробовал "крючок", как показано ниже, и нашел в других сообщениях:

ExecuteOrDelayUntilScriptLoaded(function()
{
var oldGanttControl = SP.GanttControl;
SP.GanttControl = function()
{
oldGanttControl.call(this);
var oldInit = this.Init;
this.Init = function(jsGridControl, jsRawGridData, params)
{
oldInit.call(this, jsGridControl, jsRawGridData, params);
DoCustomizations(jsGridControl);
};
};
},"SPGantt.js");

Function DoCustomizations(grid)
{
  //etc etc
}

Однако, похоже, это работает только для SP2010. С SP2013 я получаю сообщение об ошибке:

"SCRIPT438: Объект не поддерживает свойство или метод WaitForGanttCreation sp.ui.timeline.debug.js, строка 3335, символ 13"

Есть ли решение для этого, чтобы работать на Gantt View в SP2013?

Любая помощь будет принята с благодарностью.

1 ответ

Попробуй это:

ExecuteOrDelayUntilScriptLoaded(function()
{
    var oldGanttControl = SP.GanttControl;
    SP.GanttControl = function() {
        oldGanttControl.call(this);
        var oldInit = this.Init;
        this.Init = function(jsGridControl) {
            oldInit.apply(this, arguments);
            DoCustomizations(jsGridControl);
        };

        for (prop in oldGanttControl) {
            if (oldGanttControl.hasOwnProperty(prop)) {
                SP.GanttControl[prop] = oldGanttControl[prop];
            }
        }

    };
},"SPGantt.js");

Function DoCustomizations(grid)
{
  //etc etc
}
Другие вопросы по тегам