Under Review
Last Updated: 20 May 2025 13:53 by ADMIN
Robert
Created on: 07 May 2025 13:20
Type: Bug Report
0
Issues when using the objectDataSource wizard in the Web Report Designer
I am encountering issues when using the objectDataSource wizard in the Web Report Designer that are not issues with the Standalone Report Designer. The Telerik Reporting version is 19.0.25.313. I created an object data source class that returns "Widgets" in a DataSet and a report "Demonstrate objectDataSource issues in Web Report Designer.trdx" to demonstrate the issues.

1. The data member list in "Choose a data member" (step 2) of the objectDataSource wizard in the Web Report Designer does not appear to be in alphabetical order as it is in the Standalone Report Designer. When there are many data members it is hard to pick the one you want when not ordered alphabetically.

2. For a data member that returns a DataSet result, a table row has to be returned for the design time feature to generate a data schema. In the Standalone Report Designer a returned row is not necessary, all that is required is a returned DataSet with a Table with Columns setup. It would be easier when using Web Report Designer to not require data returned to establish the data source data schema. In the WidgetDataSource a fake row is returned for the sake of having the data schema generated.

3. In the Web Report Designer objectDataSource wizard, once the "Preview data source results" (step 4) are ready and the Finish button is clicked, there is another call to the data source member but instead of using the Design-Time Values for the member, the values in the Value column appear to be used. If report parameters are already assigned to the data source parameters the string of the Value (e.g. "= Parameters.StartDate.Value") is used instead of the report parameter value. I think the data member call to generate the data schema should be the Design-Time Values again. In order to get the data schema generated I had to use the same values for Value column as in the Design-Time Values value. After the data source parameters are assigned to report parameters then it breaks the generation of the data schema later when the report is opened again in the Web Report Designer and there is an error (e.g. Error An error occurred while loading the data schema for "Widgets". ("Message"."String was not recognized as a valid DateTime.").

4. In the Report Previewer for the Web Report Designer there does not seem to be a way to provide a null value to a nullable data source parameter. For the GetWidgets member the FromEffectiveDate parameter is a nullable DateTime. After the data source is configured the data source parameter DataType is set to String, it did not resolve to nullable DateTime. Even after I change the data source FromEffectiveDate parameter to DataType of DateTime it cannot accept a null value from a DateTime report parameter, it seems to be interpreted as string instead of null. In the Standalone Report Designer there is no problem having a DateTime report parameter passing null to a nullable DateTime data source parameter; after reconfiguring the data source in the Standalone Report Designer the DataType for the data source parameter is <DataType>System.Nullable`1[System.DateTime]</DataType> instead of <DataType>System.DateTime</DataType> as from the Web Report Designer.

5. This is not a specific objectDataSource wizard issue but rather a general issue in the Web Report Designer. I cannot create a Report Parameter with the same name as a data source parameter or CSV data source field. Trying to do so results in an error message (Error Could not change property 'Name'. Name 'FromEffectiveDate' already exists). This issue can be demonstrated in the Web Report Designer Demo page: create a parameter for the yearDataSource data source, try to create a report parameter with the same name to get the error. Using report parameter names that are also data source parameter names works fine in the Standalone Report Designer.
4 comments
ADMIN
Dimitar
Posted on: 20 May 2025 13:53

Hi Robert,

Thank you for the update, I am glad to hear that the second issue was resolved!

Regarding the issue with the null parameters, I was able to reproduce the issue locally this time thanks to the additional information.

if I inspect the browser DevTools' Network tab, in both the Get Report Parameters and Resolve Report Instance requests, the parameters are sent null as the value but something seems to be going wrong despite that and the error is thrown:

As a result, I have logged the bug report on our portal as well - Web Report Designer - Nullable argument types are not respected in the ObjectDataSource component, and have further updated your account's Telerik points.

Thank you for helping us improve the product!

Regards,
Dimitar
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Robert
Posted on: 13 May 2025 21:21

Dimitar, thank you for the thorough investigation and creating the three feedback items on my behalf.

I agree with your findings for Issue 2: Data Fields not being shown if the DataSet/DataTable has zero rows. I tested with DataSet table not having to be populated with rows and found that the fields were successfully generated from the columns. It appears that Issue 3 was interfering with the process. No need to pursue Issue 2 any further.

Regarding Issue 4: Nullable types in Web Report Designer's Preview Mode; my issue had to do with the running of the report in preview where the report parameters during preview are unable to pass in null to the data source nullable parameters. I found that the objectDataSource wizard was able to detect the nullable data types, but the data source parameters it generates are not nullable so the report parameter cannot pass null to them. The attached Demonstrate objectDataSource issues in Web Report Designer.trdx report can be used to demonstrate.

Here is screenshot from Standalone Report Designer preview showing the expected output for null date report parameters:

 

When I try the same thing in the Web Report Designer viewer with unassigned report parameters I get error that it cannot convert to DateTime:

I believe this is because the data source parameter has DataType of System.DateTime instead of nullable DateTime (I cannot select nullable datatypes in the dropdown).

 

When the report is previewed it cannot resolve the data source parameter. I suspect it is passing it an empty string from the report parameter? I wanted to be able to have a preview experience like the Standalone Report Designer preview where the Date report parameter can be set to null and pass null to the data source parameter.

Robert

 

ADMIN
Dimitar
Posted on: 13 May 2025 14:32

Hello Robert,

Thank you for the attached files and the feedback!

Issue 1: Data Members are not sorted alphabetically

I was able to reproduce the described behavior locally, indeed, in the Standalone Report Designer, the first data member is the default constructor, and then the others are sorted alphabetically but in the Web Report Designer, while the constructor is still first, the rest are not sorted alphabetically:

I have logged the issue on your behalf in a separate feedback item - Web Report Designer - The ObjectDataSource Wizard's Data Members are not sorted alphabetically.

Issue 2: Data Fields not being shown if the DataSet/DataTable has zero rows

This issue may be related to the third problem where incorrect values are passed to the data source parameters and the schema cannot be retrieved because the passe values are strings and an exception occurs on the server, for example:

I think this might be the case because when I created a method without parameters such as:

        [DataObjectMethod(DataObjectMethodType.Select)]
        public DataSet Test()
        {
            GenerateWidgetDataSet(out DataSet dataSet, out DataTable table);

            return dataSet;
        }

where I haven't added any rows to the table, the data schema is still present despite that:

Is there any additional setup that I need to do to reproduce the issue?

Issue 3: The GetDataModel method for the Data Schema uses incorrect values

I was able to reproduce the described problem locally, after the "Finish" button is clicked on the wizard, the designer makes a request to the GetDataModel(ObjectDataSourceInfo) endpoint to generate the data schema and fill the explorer with all data fields but the request's payload has incorrect values, for example:

I have logged the issue on your behalf in a separate feedback item - Web Report Designer - The GetDataModel method of the ObjectDataSource component used for the Data Schema has incorrect values.

Issue 4: Nullable types in Web Report Designer's Preview Mode

I created a new ObjectDataSource component through the wizard in the Web Report Designer, and it seems to correctly have picked up the nullable types, at least according to what is shown in the wizard:

To try and reproduce the issue, I set up the data source parameters to take their values from the corresponding report parameters:

Next, I confirmed that the "StartDate" and "EndDate" report parameters' values are null and put a breakpoint at the start of the "GetWidgets" method, then previewed the report and the breakpoint was hit successfully. After inspecting the values of the method parameters, they seemed to be null as expected:

Do you mind sharing a sample project where this issue is reproducible so that we can inspect it locally?

Issue 5: Cannot use the same "Name" for Report and Data Source Parameters

I was able to reproduce the described behavior, indeed, it seems that the Web Report Designer does not allow for creating a report parameter if the name is already in use by another data source component parameter.

I have logged the issue on your behalf in a separate feedback item - Web Report Designer - Cannot use the same "Name" for Report and Data Source Parameters.

Wrapping Up

Thank you for the provided feedback for the ObjectDataSource component and wizard in the Web Report Designer. I ended up creating separate feedback items for the issues that we managed to reproduce because we usually log each bug separately. I put the links in the sections above but I will also list them below for convenience:

As a reward for helping us improve the product, I have also updated your account's Telerik points!

For the other two reported issues, please let us know if there are any additional steps that we need to take in order to reproduce those problems, or even better - send us a runnable application where those two issues are present so that we can investigate them locally.

Once again, thank you for the valuable feedback and for using Telerik Reporting!

Regards,
Dimitar
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Robert
Posted on: 13 May 2025 14:16

Please be aware that this is the same list of issues as in Ticket 1687262.

Robert