Skip to content

Data Formatter (advanced formatting + filtering)

Walkthrough · All levels · App Connect

Build formatter chains visually (basic formatting → advanced filtering) and insert them back into your bindings.

This tour uses a sample App Connect page so you can safely explore formatting without changing your own project.

Formatters transform a value inside an expression (currency/date/text/collections). The Data Formatter popup helps you build a formatter chain visually and inserts it back into your expression.

tip: You can always use the expression picker without the Data Formatter; the formatter popup is for building longer chains faster.

The Data Formatter is typically opened from the Data Bindings Picker. You can also reach it from the Visual Expression Builder, but in this tour we’ll always start from the Data Bindings Picker for simplicity.

This tour starts in the Data Bindings Picker, then moves into the Data Formatter from there.

This step auto-selects a bound element in Design View so the Data Bindings Picker has real data in scope.

We open the picker for the Repeat expression so the formatter tools are available.

This picker is the most common entry point for formatting: pick a value from scope, then format it with the wand button.

The current expression tag is already selected here so the next step can pass a real value into the formatter popup instead of starting from nothing.

The formatter opens here so the flow can move from picking raw data to shaping how that value will be presented to users. The following steps stay inside the formatter popup and show how one expression turns into a reusable formatting chain.

The Data Formatter is a separate popup for building formatter chains (pipelines). When you click Select, it inserts the result back into the field you came from.

This tree is the formatter chain you’re building. Add formatters, reorder them, and select a formatter to edit its options.

Let’s select a formatter node so the context menu can show the right actions for that node and input type.

The context menu opens, showing available formatter categories.

This menu is built from formatter rules and is context-sensitive (selection + input type). Use it to add new formatters, transform types, and build longer chains quickly. Some entries are simple actions; others open submenus with more specific options.

Some categories open a nested submenu. Hover a category to reveal the submenu with specific formatter actions.

The submenu contains the concrete formatter actions you can add. Click one to insert it into the formatter chain, then configure its options in the inspector.

While the menu is open, notice the patterns: general categories, type conversions, and specialized formatters (often grouped in submenus).

Add a formatter to the chain (the most common action)
Convert/transform the current value type (text/number/date/collection)
Pick from grouped categories (submenus) to find specific formatters faster

Formatter options are grouped by the current value type. If you don’t see a formatter you expect, convert the value first (or pick a formatter that matches the current type).

Text: case/trim/replace/concatenate
Number: currency/precision/separators
Date/time: parse/convert/format patterns, locales, time zones
Collections/objects: filter/map/sort/take/count/extract

The tour closes the context menu so we can continue.

When a formatter is selected, its options appear here. Options depend on the formatter type (date format, locale, precision, separators, etc.).

Normally you’d click Select to insert the formatter chain back into the expression builder. In this tour we’ll close without changing anything.

Let’s close the Data Formatter popup and return to the Data Bindings Picker.

Back in the Data Bindings Picker, you’d click Select to apply the (now formatted) expression to the property and update the page.

Close the picker so you can continue working in the editor.

You’ve seen how to open the Data Formatter, build a chain, and insert it back into an expression.

Filtering best practices (when to use what)

Section titled “Filtering best practices (when to use what)”

Use formatters for display and small transforms. When you need “real” filtering/sorting/paging, pick the tool that matches the dataset size.

warning: Avoid heavy client-side filtering on large datasets — it can be slow and increases memory usage.

Small datasets: collection formatters are fine (quick UI tweaks)
Medium datasets: prefer Data View for interactive filter/sort/page
Large datasets: filter/page in Server Connect and return only what you need

Continue with related tours to learn about dynamic attributes and events (they use the same pickers and expression workflow).