Skip to Content
Author's profile photo Ehud Nir

Advanced Modeling – Dynamic Entry List with cache

In this example we see how to create a Dynamic Entry List, such that the dropdown is opened several time without using the backend.

(For using a chache in a custom selection see: Custom Selection part 1: Cached Selection)

The basic idea is to save the data in a Data Share. Whenever the Entry List needs to execute, we run this data through a Service Component so it could be used in the Entry List.

In the modeling flow we can see the service is executed and the data saved in the Data Share:

1 main_model.png

We need to have a clustered data in the Data Share (I will later explain why), so we add a root node with no fields and a sub node to contain the actual data:

2 data_share.png

In the Form View connected to the Data Share we add another field for the Drop-Down:

3 form_data.png

Now the Layout looks like this:

4 layout.png

We need to prepare a Service Component to later use in the Entry List:

5 new_serv.png

The service should get and return the save data. Again we define a cluster to nest the Recordset under a root node.

6 serv_model.png

Now we can define the Dynamic Entry List:

7 new_el.png

We choose a Dynamic list (and Next):


We choose the Service Component we defined:

9 el_2.png

Define the input for the service. The data from the Data share is passed to the service input Port. the reason we use a Cluster is because using a flat Array structure passes only one record in Run-Time:

10 el_input.png

Define the ouput:

11 el_output.png

We can now run the model and use the drop down several times without using the backend, as you will notice in the performance of it.

12 run.png

Another flow we might want to implement uses some user input for running the service for the first time, instead of a Start Point hard-coded data. That’s also possible, and based on the flow of this example.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      This is a great Idea, would of saved me a lot of load time in a project I developed a couple of years ago 🙂

      nice blog


      Author's profile photo Anton Shypkov
      Anton Shypkov

      Personally I have implemented that idea in a couple of project and it works perfect.

      Thanks to Ehud.