Question about AR data source objects (2 levels)

Posted by: strutzj on 30 December 2025, 2:49 pm EST

  • Posted 30 December 2025, 2:49 pm EST

    My question has to do with how to reference vb.net code based collection object properties and sub-object properties as one data set in an rdlx report. Question details and diagram in attached zip folder. Thanks…

  • Posted 31 December 2025, 1:53 am EST

    Hi Jim,

    You can bind Report DataSources with DataTable, DataSet(ADO.NET), or with IEnumerables like List.

    For this, please refer to the following pages of our documentation:

    I have also created a sample and attached it for you to look over.

    Regards,

    Akshay

    RuntimeDataPageReport.zip

  • Posted 8 January 2026, 11:28 am EST - Updated 8 January 2026, 11:33 am EST

    I’m having a hard time understanding this. How do you create a data set within a data set in AR? This looks exactly what I need to do. What is the query $.records[*}?

  • Posted 9 January 2026, 2:08 am EST

    Hi Jim,

    It is not possible to create “a data set within a data set”. If loading data from nested objects, you would have to create multiple datasets, and to show data in the structure, you would have to use Grouping, Filters, and Lookup Set

    So say if you have Records Set and Items Set within Records.

    You would have to create a Records DataSet and an Items DataSet here. The Items DataSet should have a Foreign Key or a linked key to the Records DataSet, so you can filter the Items based on (Items}RecordID with (Records)ID field

    For more information on nested data sets and controls, please refer to the following pages of our documentation.

    I have also updated the sample so now it has a RecordID field, which I am using to show the data in a nested fashion by nesting Tables and adding a filter to the nested table(Table4 in the report).

    >> How do you create a data set within a data set in AR? This looks exactly what I need to do. What is the query $.records[*}?

    I will share some steps to create a dataset and then steps to create a data set to be used with runtime objects, VB.NET objects like List or DataSet.

    Steps To Create A DataSet:

    1. In the Report Explorer, in the DataSources, add a DataSource.

      Here, you will add your connection properties to the data source, allowing you to select data sources such as JSON and SQL, and enter the connection details specific to each data source. After adding connection properties, click OK.
    2. Right-click on the newly added DataSource, And click Add DataSet.

      The dataset will allow you to query the DataSource, So for SQL DataSource you would for example add a Select Statement, and for JSON you would add a JSONPath expressions like $.records[*].
    3. Once the query is set the Designer will try to connect to the data source and query the data set to automatically fill the fields.
    4. Click Ok, and the DataSet is now added.

    Steps To Create A Runtime DataSet:

    1. In the Report Explorer, in the DataSources, add a DataSource. Here, Select Data Provider should be either Object Provider or DataSet Provider, depending on if you are creating an IEnumerable or a DataTable/DataSet. Once you choose these providers, all the data fetches will be handled by the LocateDataSource Event, i.e. through code. So anything you add will in query or parameters or filter doesn’t matter, as all that will be handled by your custom code and not by the ActiveReports API.
    2. In the DataSource feel free to add some identifiers in the ConnectionString or you may use the data source to identify the DataSource if required in your code. Then click OK.
    3. Now create a new DataSet using this Data Source. And again, it is optional to add any query or not, which you can use in your own code. In my code, I added a query “$.records[*]”, but I am actually not using it in my code. In my Report_LocateDataSource event, I am just using the “e.DataSet.Name” property to check the dataset name and sending data accordingly.

    Based on your use case and code requirements, you can use “e.DataSet.Fields”, “e.DataSet.Query.CommandText”, “e.DataSet.Filters”, “e.Report.DataSources”, and other properties available in the LocateDataSourceEventArgs parameter.

    4. [IMPORTANT] Now, when you have configured the DataSet, you must also add the fields to your dataset manually. Fields will be used in the report layout to compute using the dataset records. Each field has a name and a value. Name is the identifier used in the report layout, and value is the attribute name for the field in each record.

    5. Once the field is added, you can click OK, and your dataset is complete.

    >> What is the query $.records[*}?

    So in my code, I am using the DataSet.Query so you can ignore this field. I only added this for demonstration purposes on how the query field can be used.

    RuntimeDataPageReport-2.zip

Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels