Вызовите значение списка в таблицу на странице SharePoint - PullRequest
0 голосов
/ 13 января 2020

Я пытаюсь вызвать значение из списка в ячейку таблицы на другой странице SharePoint. Таблица составлена ​​с использованием html, и я думаю, что именно здесь у меня возникают проблемы при попытке соединить точки. Код для конкретной ячейки:

 <td style="background-color:Black; color:White; text-align:center; font-weight:bold; border- 
style:inset">Days</td>

Значение в списке (CurrentTimeFrame) представляет собой числовое значение c из столбца «дни», которое мне нужно отобразить перед словами «Рабочие дни» в клетка. У меня есть около 17 ячеек, которые мне нужно будет настроить, но если я смогу определить одну, я смогу поработать с остальными. Я в основном полный новичок ie с html / js, но у меня есть кое-какое обучение по CPP, так сказать, я борюсь, мягко говоря.

Я думаю, это будет фрагмент кода, который я могу вставить в эту ячейку:

 <td style="background-color:Black; color:White; text-align:center; font-weight:bold; border- 
style:inset"><div id="shippingDays"></div>&nbspDays</td>     

Очевидно, это не сработает. Но я действительно не знаю / не понимаю почему. Я также посмотрел REST API, так как я знаю, что это, вероятно, моя лучшая ставка, но я просто не понимаю (как заставить все это работать).

SharePoint 2013, Имя списка: CurrentTimeFrame, Строка 0, имя / заголовок столбца: первое значение в столбце - отправка внутри страны, Имя столбца: Дни (внутреннее имя c3t9)

Заранее спасибо за любую помощь !

Редактирование для добавления:

Это настройка для моей таблицы. Не обращайте внимания на мои плохие навыки PSing. Мне нужно было вынуть поля по соображениям конфиденциальности. Но значения списка необходимо будет вставлять перед каждым рабочим днем ​​черных ячеек. Это не таблица, которая просто перечисляет все подряд.

HTML table on separate SharePoint page

Здесь задействованы три разные страницы SharePoint. 1) Список SP, 2) страница SP, которая имеет текстовую запись для обновления числовых значений в списке, 3) страница SP, которая содержит таблицу HTML, в которой значения списка будут вставлены в различные ячейки.

Я пытался использовать следующий код:

<script src="https://code.jquery.com/jquery-1.12.4.min.js" 
type="text/javascript"></script>
<script type="text/javascript">
$(function(){
    var listName="CurrentTimeFrame";
    getListItems(listName); 
}); 
function getListItems(listName){
    var url =  _spPageContextInfo.webAbsoluteUrl + 
"/_api/web/lists/getByTitle('"+listName+"')/items?$orderby=c3t9";
    $.ajax({
        url: url,
        type: "GET",
        headers: {
            "Accept": "application/json;odata=verbose",
        },
        success: function (data) {
            $.each(data.d.results,function(i,item){
                var trHtml='<tr align="middle"><td 
align="left">'+item.title+'</td>';                    
                trHtml+='<td style="background-color:Black; color:White; text- 
align:center; font-weight:bold; border- 
style:inset">'+item.c3t9+'&nbspDays</td></tr>';            
                $("#myHTMLTable>tbody").append(trHtml);
            });
        },
        error: function (error) {
            console.log(JSON.stringify(error));  
        }
    });

Но он отображал это на странице SharePoint как:

enter image description here

Это список SP (также обратите внимание, что внутреннее имя столбца для 'days' равно 'c3t9'):

enter image description here

И, наконец, , html код таблицы (не вся таблица, но все остальные ячейки отформатированы одинаково):

<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">


     <thead>
          <tr style="height:70px">
          <th rowspan="2" colspan="9" style="width:30%; background- 
   color:#015A78; color:White; text-align:center; font-size:35pt; font- 
   weight:bold; border-width:thick; border-style:inset"> Current Time 
Frames<br> 
    <span style="color:Red; font-size:25pt;">*Secondary Header Message*</span> 
    </th>
          </tr>
     </thead>
     <tbody>

           <tr>
          <td colspan="9" style="font-size:5pt">&nbsp;</td>
          </tr>
          <tr style="height:40px">
          <td colspan="4" style="width:30%; background-color:#015A78; 
color:White; text-align:left; font-size:20pt; font-weight:bold; border- 
width:thick; border-style:inset">Shipping</td>
          <td></td>
          <td colspan="4" style="width:30%; background-color:#015A78; 
color:White; text-align:left; font-size:20pt; font-weight:bold; border- 
width:thick; border-style:inset">Scanning</td>
          </tr>


          <tr>
          <td colspan="3" style="width:30%; background-color:#015A78; 
color:White; text-align:center; font-size:20pt; font-weight:bold; border- 
width:thick; border-style:inset">Domestic</td>
          <td style="background-color:Black; color:White; text-align:center; 
font-weight:bold; border-style:inset">Business Days</td>
          <td></td>

          <td colspan="3" style="width:30%; background-color:#015A78; 
color:White; text-align:center; font-size:20pt; font-weight:bold; border- 
width:thick; border-style:inset">Overall</td>

          <td style="background-color:Black; color:White; text-align:center; 
font-weight:bold; border-style:inset">Business Days</td>
          </tr>

     </tbody>
</table> 

1 Ответ

0 голосов
/ 14 января 2020

Добавьте код в веб-часть редактора сценариев на странице сайта для достижения этого.

<script src="https://code.jquery.com/jquery-1.12.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
    var listName="CurrentTimeFrame";
    getListItems(listName); 
}); 
function getListItems(listName){
    var url =  _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getByTitle('"+listName+"')/items?$orderby=shipping asc";
    $.ajax({
        url: url,
        type: "GET",
        headers: {
            "Accept": "application/json;odata=verbose",
        },
        success: function (data) {
            $.each(data.d.results,function(i,item){
                var trHtml='<tr align="middle"><td align="left">'+item.shipping+'</td>';                    
                trHtml+='<td style="background-color:Black; color:White; text-align:center; font-weight:bold; border-style:inset">'+item.days+'&nbspDays</td></tr>';            
                $("#myHTMLTable>tbody").append(trHtml);
            });
        },
        error: function (error) {
            console.log(JSON.stringify(error));  
        }
    });
}
</script>
<table id="myHTMLTable" border='1' cellpadding='1' cellspacing='1'>
<thead><tr><th>Shipping</th><th>Days</th></tr></thead>
<tbody/>
</table>

enter image description here

...