2015-04-09 2 views
0

Я использую sap.ui.table для отображения столбцов данных. Есть только 12 строк данных - данные загружаются из вызова ajax в базу данных. Я бы хотел, чтобы общая строка была внизу столбцов. Я не могу найти примеры, показывающие итоговые значения для столбцов.SAPUI5 Таблица итоговая строка внизу

Вот небольшой фрагмент таблицы в виде XML.

 <table:Table 
     id="CompRecs" 
     visibleRowCount="12" 
     visible="true" 
     rows="{ 
      path:'/yearInfo/' 
     }" 
     navigationMode="Paginator"> 
      <table:toolbar> 
       <Toolbar> 
       <Label id="recText" text="Comparing " ></Label> 
       <Input id="startYear" width="15%" value="{/startYear}"/> 
       <Label id="selText" text=" to "></Label> 
       <Input id="endYear" width="15%" value="{/endYear}"/> 
       <Button text="Compare Years" press="findRecs"/> 
       </Toolbar> 
      </table:toolbar> 
      <table:columns> 
       <table:Column > 
        <Label text="Month" /> 
        <table:template> 
         <Text text="{path: 'monthECC',formatter: 'controllers.Formatter.month'}"></Text> 
        </table:template> 
       </table:Column> 
       <table:Column > 
        <Label text="Classified Products/Components" /> 
        <table:template> 
         <Text text="{classProductsA} ({classProductsB})"></Text> 
        </table:template> 
       </table:Column> 
       <table:Column > 
        <Label text="Classified Business Partners" /> 
        <table:template> 
         <Text text="{classPartnersA} ({classPartnersB})"></Text> 
        </table:template> 
       </table:Column> 
      </table:columns> 
     </table:Table> 

То, что я хотел бы сделать, это иметь в общей сложности на дне для колонн, таких как объявления Продукции и партнеры .... эти столбцы показаны два значения - одно для текущего года, и один для в прошлом году («classproductsA» = год 1, «classproductsB» = год 2).

Так это должно выглядеть что-то похожее на:

Month  Classified Products   Classified Partners 
January   3 (5)      4 (7) 
February  4 (3)      5 (1) 

Totals:   7 (8)      9 (8) 

я не нашел каких-либо примеров, которые я могу попробовать.

EDIT: Образец данных:

{"yearInfo": 
[{"monthECC":"1","classProductsA":"17","classProductsB":"140","classPartnersA":"1161","classPartnersB":"1116"}, 
{"monthECC":"2","classProductsA":"37","classProductsB":"66","classPartnersA":"1389","classPartnersB":"1112"},  
{"monthECC":"3","classProductsA":"60","classProductsB":"66","classPartnersA":"2111","classPartnersB":"1905"}] 

Показывает 'месяцев' 3 данных, чтобы соответствовать XML столбцов выше. Так хотел бы:

Month  Classified Products   Classified Partners 
January   17 (140)      1161 (1116) 
February  37 (66)      66 (1389) 
March   60 (66)      2111 (1905) 

Totals:   114 (272)      3338 (4410) 

ответ

2

Вы пытались написать нижний колонтитул для стола? В этом примере показан пример таблицы в проекте UI5 Explored. Вам просто нужно написать агрегацию нижнего колонтитула. Теперь, чтобы написать счет, вам нужно будет указать элементы, которые вам требуются, в качестве частей, а затем поместите форматтер, чтобы получить результаты. Для ваших данных, чтобы получить классProductsA всего в метке. Вот код в js. (Слишком плохо с XML, но уверен, что будет работать точно так же)

var totalLabel = new sap.m.Label({ 
'text': 
{path:'/yearInfo', 
    formatter:function(fullArray){ 
      var classProductsATotal = 0; 
      $.each(fullArray ,function(singleElement){ 
      classProductsATotal = classProductsATotal+singleElement.classProductsA; 
       }); //end of $each. 
    return classProductsATotal; 
}}); 

Форматировщик функция вам придется искать. Путь установлен на /yearInfo, что будет означать, что он даст полный массив в качестве входных данных для функции форматирования. После его появления вы всегда можете сделать цикл, чтобы получить общее количество.

+0

Я попытался заглянуть в нижний колонтитул, но не смог найти пример, чтобы узнать, как его выложить или что делать. Я попробую взглянуть на ту, которую вы упомянули, и посмотреть, помогает ли она. – user3861284

+0

Пример панировки не помог, так как он имеет только кнопку. Я не думаю, что знаю достаточно, чтобы узнать, как написать сборку, чтобы получить общее количество и форматировщик. Я думаю, если бы я мог увидеть пример того, как я делаю что-то вроде того, чего хочу, чтобы я мог следить за ним, чтобы он работал на моем столе. – user3861284

+0

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

Смежные вопросы