Что не так с этим кодом ссылки JS? массив должен показывать свои данные, но он дает неопределенное значение. Я хочу отображать данные в двух столбцах

(function () {

    var itemCtx = {};
    itemCtx.Templates = {};

        itemCtx.Templates.Header = "<div><b>Announcements</b></div><table>";
        itemCtx.Templates.Item = ItemOverrideFun;
        itemCtx.Templates.Footer = "</table>";



    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(itemCtx);

})();


function ItemOverrideFun(ctx) {

var _announcementTitle = ctx.CurrentItem.Title;


var _announcementID = ctx.CurrentItem.ID;


return "<tr><td><p><b>" + _announcementTitle + "</b></p></td></tr>";

}

--- с этим кодом m, получая значения строка за строкой, как показано ниже:

1) Забронируйте свой летний отпуск сейчас

2) Нас признали исключительным сервисом

3) Ancmnts

4) ХУХ

---- но мне нужно отобразить его рядом как

1) Забронируйте свой летний отпуск сейчас 2) Нас признали исключительным сервисом

3)Ancmnts 4) XYZ

поэтому я сделал некоторые изменения в коде и использовал для него массив, теперь я получаю формат в виде двух столбцов, но не получаю данные, так как значение массива отображается неопределенным.

(function() {
    var itemCtx = {};
    itemCtx.Templates = {};
    enter code here
    itemCtx.Templates.Header = "<div><b>Announcements</b></div>";

    itemCtx.Templates.Item = ItemOverrideFun;

    itemCtx.Templates.Footer = "</table>";

    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(itemCtx);
})();


function ItemOverrideFun(ctx) {
    var _announcementTitle = ctx.CurrentItem.Title;
    var _announcementID = ctx.CurrentItem.ID;
    var myArray = new Array();

    for (var i = 0; i < 5; i++) {
        myArray[i] = _announcementTitle;
    }

    return "<table><tr><td><p><b>" + myArray[i] + "</b></p></td><td><p><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + myArray[i + 1] + "</p></b></td></tr></table>";
}

Значение массива идет не по-своему, а вместо его значения отображается неопределенное.

Результат:

Объявления

не определено не определено

не определено не определено

не определено не определено

1 ответ

Решение

Я думаю, вам нужно визуализировать элементы списка из списка объявлений по горизонтали, верно?

Следующий пример демонстрирует, как это сделать:

SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function() {

    SPClientTemplates.TemplateManager.RegisterTemplateOverrides({

      Templates: {
           View: renderAnnouncementsView
      },

      ListTemplateType: 104

    });

});


function renderAnnouncementsView(rCtx)
{
    var listData = rCtx.ListData;
    var viewHtml ='';

    viewHtml = '<table><tr>';
    for (var idx in listData.Row) {
        var listItem = listData.Row[idx];
        viewHtml += '<td>';
        viewHtml += listItem.Title;
        viewHtml += '</td>';
    }
    viewHtml += '</tr></table>';
    return viewHtml;
}
Другие вопросы по тегам