Таблица. Режим кастом вывода через JS (custom)

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

Для этого необходимо указать в SELECT 3 GetItems viewType='custom', в этом случае таблица не выводится (выводится только заголовок и фильтры). 

Последующая JS обработка происходит в коллбеке GetItems.

Пример работы на демостенде - https://demo.web-automation.ru/list/watch/tablica-s-kastom-vyvodom-cherez-js---63

Пример JS коллбека GetItems: 

<script>
$(function(){
	as.crud2callbacks["watch_customViewType_getItems"] = function(options, data){
      console.log("table data", data)
      var cont = options.cont;
      var s = "";
      
      for(var i = 0; i < data.items.length; i++){
        var item = data.items[i];
       	 s+= "#"+item.id + " " + item.name + " (" + item.cnt + ")<br>";
      }
      s+="<hr>";
      if(data.footerItems){
      	s+="<h4>Footer items</h4>";
      	for(var i = 0; i < data.footerItems.length; i++){
        	var fi = data.footerItems[i];
 	        for(var key in fi) {
			    var value = fi[key];
              	s += key + "=" + value+ ", "
			}
          	s+="<br>";       	 	
      	}        
      }  
      s+=  as.crud2.getPagingMakeup(options, 'pgClass')
      cont.append(s);    
    }

});
</script>

Примечание:

  • для работы paging мы использовали разметку из функции as.crud2.getPagingMakeup(options, 'pgClass'), где pgClass - это css класс для контейнера пагинации.
  • данные приходят в коллекциях data.items и data.footerItems.
  • Если вам не нужны фильтры и заголовки, то можно заменять содержимое options.cont (использовать html вместо append).
     
Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK