|
<div class="col-lg-12 control-section">
<p>Condition: @condition</p>
<SfQueryBuilder @ref="Querybuilder" TValue="HardWareDetails" DataSource="@DataSource" MatchCase="false">
<QueryBuilderRule Condition="or" Rules="@ImportRules"></QueryBuilderRule>
<QueryBuilderEvents TValue="HardWareDetails" Created="Created" RuleChanged="UpdateRule" OnValueChange="ValueChange"></QueryBuilderEvents>
<QueryBuilderColumns>
<QueryBuilderColumn Field="TaskID" Label="Task ID" Type=Syncfusion.Blazor.QueryBuilder.ColumnType.Number></QueryBuilderColumn>
<QueryBuilderColumn Field="Name" Label="Name" Type=Syncfusion.Blazor.QueryBuilder.ColumnType.String></QueryBuilderColumn>
<QueryBuilderColumn Field="Category" Label="Category" Type=Syncfusion.Blazor.QueryBuilder.ColumnType.String></QueryBuilderColumn>
<QueryBuilderColumn Field="SerialNo" Label="Serial No" Type=Syncfusion.Blazor.QueryBuilder.ColumnType.String></QueryBuilderColumn>
<QueryBuilderColumn Field="InvoiceNo" Label="Invoice No" Type=Syncfusion.Blazor.QueryBuilder.ColumnType.String></QueryBuilderColumn>
<QueryBuilderColumn Field="Status" Label="Status" Type=Syncfusion.Blazor.QueryBuilder.ColumnType.String></QueryBuilderColumn>
</QueryBuilderColumns>
</SfQueryBuilder>
</div>
<div class="col-lg-12 control-section">
<div class="content-wrapper">
<div class="row">
<SfGrid TValue="HardWareDetails" DataSource="@GridData" AllowPaging="true">
<GridEvents Created="Created" TValue="HardWareDetails"></GridEvents>
<GridColumns>
<GridColumn Field=@nameof(HardWareDetails.TaskID) HeaderText="TaskID" TextAlign="TextAlign.Right" Width="120"></GridColumn>
<GridColumn Field=@nameof(HardWareDetails.Name) HeaderText="Name" Width="150"></GridColumn>
<GridColumn Field=@nameof(HardWareDetails.Category) HeaderText="Category" TextAlign="TextAlign.Right" Width="120"></GridColumn>
<GridColumn Field=@nameof(HardWareDetails.SerialNo) HeaderText="Serial No" Width="150"></GridColumn>
<GridColumn Field=@nameof(HardWareDetails.InvoiceNo) HeaderText="Invoice No" Width="150"></GridColumn>
<GridColumn Field=@nameof(HardWareDetails.Status) HeaderText="Status" Width="150"></GridColumn>
</GridColumns>
</SfGrid>
</div>
</div>
</div>
@code{
private string condition;
SfQueryBuilder<HardWareDetails> Querybuilder;
public IEnumerable<HardWareDetails> GridData { get; set; }
public IEnumerable<HardWareDetails> DataSource { get; set; }
protected override async Task OnInitializedAsync()
{
DataSource = await HardWareDetails.GetAllRecords();
}
private async void Created()
{
GridData = Querybuilder.GetFilteredRecords().ToList().AsEnumerable<HardWareDetails>();
condition = Querybuilder.Rule.Condition;
}
public List<RuleModel> ImportRules = new List<RuleModel>()
{
new RuleModel { Field = "Category", Label = "Category", Value = "Laptop", Operator = "equal", Type = "String" }
};
private async void UpdateRule(Syncfusion.Blazor.QueryBuilder.RuleChangeEventArgs args)
{
if (args.Rule.Rules.Count > 0)
{
GridData = Querybuilder.GetFilteredRecords().ToList().AsEnumerable<HardWareDetails>();
}
else
{
GridData = Querybuilder.GetFilteredRecords().ToList().AsEnumerable<HardWareDetails>();
}
RuleModel rule = Querybuilder.GetValidRules();
condition = rule.Condition;
//StateHasChanged();
}
private void ValueChange(Syncfusion.Blazor.QueryBuilder.ChangeEventArgs args)
{
GridData = Querybuilder.GetFilteredRecords().ToList().AsEnumerable<HardWareDetails>();
RuleModel rule = Querybuilder.GetValidRules();
condition = rule.Condition;
StateHasChanged();
}
}
|
Hi everyone, any update on this? I got the same error.
Hi Joseph,
As we mentioned earlier, we are unable to replicate this issue on our end. For your reference, we have prepared the sample based on the previous update.
If you are still facing the issue, please share the below details.
Share a reproducible sample or replicate the issue in our sample.
Share the issue's video demonstration.
Based on that, we will check and provide you with a better solution quickly.
Regards,
YuvanShankar A