K2BTools 10.3 - Release Notes


In K2BTools 10.3 we focused on a series of features we believe will improve the UX of applications generated with K2BTools.

The first one is the conditional grid classes feature that allows the developer to give different format properties to the rows of a grid. This will help the user identify the differences in the grid rows' content.

The second one is a series of internal improvements in advanced filters so that the user has a better experience when using these filters. 

Lastly, this version adds more flexibility in the user interface generation, allowing the addition of HTML sections to Dynamic Layouts objects. 

As always, this version includes bugfixes found in the “Bugfixes” section.

Conditional Row Classes (only for GX15)

There are serveral escenarios, where it's is important to highlight some of the rows shown in a grid. For example, Invoices that are about to expire, or purchase orders whose total is greater than a certain threshold could be highlighted. 

To do this we have implemented the conditional grid row formatting properties.

Conditional Row Classes.

Conditional classes can be used to give a specific format to a row in a grid, or to a single field inside the grid.

Conditional Attribute Classes.

For more information, see How to use conditional classes

Improvements in advanced filters (only for GX15)

In this version we made three important improvements in the advanced filters feature

Empty Item Text in advanced filter combo

In this version empty item text in filter selection combo can be customized. 

Advanced Filter Empty State Text.

The value of the empty text can be configured in Patterns General Settings and WebPanelDesigner settings

Collapsible advanced filters

Developers can choose to generate a line separator in order to collapse the advanced filters section. The property name is "GenerateCollapsibleAdvancedFilters"

Generate Collapsible Advanced Filters.

Developers also can configure the start state of the line separator. The property name is "Collapsible Advanced Filters Start State" and its possible values are:

  • Open: It starts opened.
  • OpenIfInUse: It starts opened when the grid is filtered by any of the advanced filters, and close otherwise.
  • Collapsed: It starts collapsed.

Both properties are available in Patterns General Settings and WebPanelDesigner settings in the "Advanced Filters" category. 

Performance improvements in advanced filters

We made some improvements in performance when advanced filters have dynamic control info nodes. In this version dynamic combo options are loaded only when an advanced filter is selected in runtime. To have this performance  improvement the dynamic control info must be set in the filter's "Control Info" child.

Improvements in flexibility of dynamic layouts (only for GX15)

In this version you can have more flexibility when designing the dynamic layouts. Now, you can use the Html section, and put dynamic layout components inside the html section.

CardPhotoActionsStructure CardPhotoActionsAbstract CardPhotoActionsHtmlLayout
Dynamic Layout Components Abstract Layout Html section


The following errors were fixed:

  1. In WebPanelDesigner when using grids based on DataProviders, SDTs, or without a base table, the caption of the options in the order by combobox could not be set. (GX15, GXEv3).
  2. If the first order was a simple order with direction both, there was not a way to set the descending direction as the default direction. For this prupose a default direction property was added. Its possible values are: Ascending, Descending. (GX15, GXEv3).
  3. Order options associated with grid columns were not working properly in K2BPrompt pattern (Gx15, GXEv3)
  4. In TrnForm pattern and WebPanelDesigner, when using Previous Version Compatible Web Form generation, item values and descriptions could not be set in Control Info nodes when "Data Source From" property was set to "DataProvider". (GX15, GXEv3)
  5. In K2BTools Patterns, "Show In X" (extra small, small, medium, large) properties were not taken into account in Variables nodes. (GX15, GXEv3)
  6. An error message "Variable has already been defined" was thrown when two or more variables with different case (ex: unitName, UnitName) were defined in the pattern instance. (GX15, GXEv3)
  7. When making changes in Multiple and DateRange semantic filters, the grid was refreshed even when automatic refresh property was set to false. (GX15, GXEv3)
  8. Grid.PageCount function was called multiple times in the same event causing performance issues. (fixed in GX15 only)
  9. In WebPanelDesigner, when HideSearchButton was set to true, it was not shown when automatic refresh was set to false. (GX15, GXEv3)
  10. Improvents in Click events associated with multiple selection actions checkbixes in order to avoid concurrency problems (GX15, GXEv3)


Minor updates


  • Error defining a SDT Variable in VariablesDefinition nodes in K2BEntityServices and K2BPrompt pattern, when SDT was inside a module.
  • An Error was thrown  on save a webpanel using WebPanelDesigner, when having grids with an action with row selection = multiple or single, and a selected key attribute defined as longvarchar.

Installation steps

Note: We recomend using K2BTools 10.3 in GX15 U4 or later, or in GXEv3 U12 . If you are using other GeneXus versions (ex:GXEv3U13) please follow this link

  1. Install K2BTools 10.3 using the setup file downloaded in the previous section.
  2. If you were using K2BTools version prior to K2BTools 10.0, you will need to update your licenses as described in Upgrading K2BTools licenses.
  3. If K2BTools licenses are not installed, install licenses as described in Requesting K2BTools licenses.
  4. Open GeneXus.
  5. If after applying the first pattern instance you get a "failed" error message then:  follow these instructions
  6. After applying the first K2BEntityServices instance if using a theme different from K2BFlat, K2BFlatCompact or K2BModern (or their variants), follow the Theme Log to update your theme.

Common problems

If after updating all grids appear like the image bellow your theme must be updated.

Grid appearance upgrade issue sample

If you are using K2BFlat theme (or one of its color variations) or K2BFlatCompact theme (or its color variations) the first time you apply K2BTools 10.2, a merge between the version in the KB and the version included in this version 10.2 is done. However, some modifications to the theme are not done. There are two ways to solve this.

  1. Importing the theme with “Theme Import Behavior” set to “Overwrite” (modifications to the standard theme will be lost)
  2. Follow K2BTools theme changelog and update the classes that are not automatically merged. These are:
    1. K2BTools_CheckAllGrid
    2. Switch (only GX15)
    3. K2BToolsTable_GridContainer
    4. K2BToolsTable_GridSettings

K2BTools Theme Log can be found in these URLs: