Using 18.4.0.32
Issue:
When restricting the
Operators property (see code below) of the query builder as suggested by the first answer
here, the following exception occurs when changing the field of a condition to another field type after having selected an operator:
blazor.webassembly.js:1 crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
Unhandled exception rendering component: Object reference not set to an instance of an object.
System.NullReferenceException: Object reference not set to an instance of an object.
at Syncfusion.Blazor.QueryBuilder.Internal.QueryBuilderValue`1[[XXXXX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].BuildRenderTree(RenderTreeBuilder __builder)
at Microsoft.AspNetCore.Components.ComponentBase.<.ctor>b__6_0(RenderTreeBuilder builder)
at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.RenderInExistingBatch(RenderQueueEntry renderQueueEntry)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()
Query builder component
<SfQueryBuilder @ref="@queryBuilder" TValue="Person" EnablePersistence="true">
<QueryBuilderShowButtons GroupInsert="false" GroupDelete="true" RuleDelete="true" />
<QueryBuilderColumns>
<QueryBuilderColumn Field="@nameof(Person.FirstName)"
Label="First Name"
Type="ColumnType.String"
Operators="startsWith" />
<QueryBuilderColumn Field="@nameof(Person.LastName)"
Label="Last Name"
Type="ColumnType.String"
Operators="startsWith" />
<QueryBuilderColumn Field="@nameof(Person.Age)"
Label="Age"
Type="ColumnType.Number"
Operators="between" />
</QueryBuilderColumns>
</SfQueryBuilder>
@code
{
private List<OperatorsModel> equal = new List<OperatorsModel> {new OperatorsModel {Text = "Equals", Value = "equal"}};
private List<OperatorsModel> startsWith = new List<OperatorsModel> {new OperatorsModel {Text = "Starts With", Value = "startswith"}};
private List<OperatorsModel> between = new List<OperatorsModel> {new OperatorsModel {Text = "Between", Value = "between"}};
}
Steps to reproduce:
- Use query builder component and code section above
- Select field: First Name
- Select operator: Starts With
- Change field of same condition (not add new condition) to: Age
- Exception occurs
Thanks for your support.