QueryBuilder using ExpandoObject does not resolve set values

Hi

see attached, I add a property to a dynamic object with property / value, I then try and filter with that property and I get the exception below.

Image_8830_1741272325731



1 Reply

YA YuvanShankar Arunagiri Syncfusion Team March 10, 2025 09:56 AM UTC

Hi Martin,


We have reviewed your provided code snippet and corrected the code based on the Blazor standard and prepared the sample. Refer to the below code snippet.


Need to refresh the component once we set the DataSource property of query builer using instance then we need to go for further action like getting the filtered records from query builder component.


@using Syncfusion.Blazor.QueryBuilder

@using Syncfusion.Blazor.Buttons

@using System.Dynamic

 

<SfQueryBuilder @ref="QueryBuilderObj" TValue="ExpandoObject" Width="70%"></SfQueryBuilder>

 

<SfButton OnClick="OnButtonClick">Button</SfButton>

 

@code {

    private SfQueryBuilder<ExpandoObject> QueryBuilderObj;

 

    private void OnButtonClick()

    {

        if (QueryBuilderObj != null)

        {

            dynamic x = new ExpandoObject();

            var dictionary = (IDictionary<string, object>)x;

            dictionary["CounterPartyId"] = 999;

 

            QueryBuilderObj.DataSource = new ExpandoObject[] { x };

            StateHasChanged();

            var data = QueryBuilderObj.GetFilteredRecords()?.ToList();

        }

    }

}


Please let us know if you need further assistance.


Regards,

YuvanShankar A


Loader.
Up arrow icon