Uživatelské nástroje

Nástroje pro tento web


techdoc:hiddenparam_cellrenderer

Toto je starší verze dokumentu!


Modifikace vzhledu browse

Za pomoci hidden parametru CellRenderer je možné při renderování browse modifikovat vzhled jednotlivých buněk. Při renderování každé buňky se volá funkce zadaná v hodnotě parametru. Předpokládá se že funkce je zapsaná přímo ve stránce v tagu „script“.

Zápis hidden parametru pro funkci myCellRenderer

<input type="hidden" name="CellRenderer" value="myCellRenderer">

Na vstupu má funkce následující atributy a předpokládá se návrat modifikovaného atributu defaulthtml nebo null, pokud nic nemodifikujeme.

Argumenty každé takto volané funkce jsou:

  • row - číslo řádku
  • columnfield -pole (jqx)
  • value - hodnota pole
  • defaulthtml - DOM objekt buňky browse
  • columnproperties - vlastnosti sloupce (jqx)
  • field - název pole
  • rowData - rowData - dvourozměrné pole s hodnotami všech položek v datovém řádku, nad nímž se funkce volá. Prvním rozměrem je jméno položky, druhým pak její hodnota.

Následná funkce může vypadat třeba takto:

Provádí Removing trailing zeros / potlačení koncových nul u sloupce HDPRODCENA

<script>
var formatNumber = function (num) {
  return new Intl.NumberFormat("cs-CZ", {
    minimumFractionDigits: 0,
    maximumFractionDigits: 20 // dostatečně velké, aby zachytilo všechny
  }).format(num);
}
var myCellRenderer = function (row, columnfield, value, defaulthtml, columnproperties, field, rowData) {
 if (field.name == 'HDPRODCENA'){
   if (value != null || value != "")
     defaulthtml.innerText = formatNumber(value)
 }
 return defaulthtml;
};
</script>

Dalším příkladem může být doplnění třídy a na základě této třídy úprava vizualizace.

<!-- styl pro třídu nonNull-->
<style>
.nonNull {
 /*jakákoli CSS vlastnost*/
}
</style>
<!-- doplnění třídy nonNull-->
<script>
var myCellRenderer = function (row, columnfield, value, defaulthtml, columnproperties, field, rowData) {
 if (field.name == 'HDPRODCENA'){
   if (value != null || value != "")
     defaulthtml.classList.add("nonNull");
 }
 return defaulthtml;
};
</script>

S defaulthtml je možné manipulovat jak je potřeba, jen je nutné brát zřetel na to, že výrazná modifikace může spůsobit nefunkčnost Browse.

techdoc/hiddenparam_cellrenderer.1774448825.txt.gz · Poslední úprava: 25.03.2026 14:27 autor: jzaboril

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki
DokuWiki Appliance - Powered by TurnKey Linux