Что не так с этим кодом ссылки 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> " + 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;
}