|
<button type="button" @onclick="changeQueryData">
change query
</button>
<SfGantt @ref="myGantt" ID="GanttExport" TValue="Table" HighlightWeekends="true"
>
<SfDataManager Adaptor="Adaptors.CustomAdaptor">
<CustomComponent QueryData ="@GanttQueryData"></CustomComponent>
</SfDataManager>
..//
</SfGantt>
@code {
public Query GanttQueryData { get; set; }
public SfGantt<Table> myGantt;
protected override void OnInitialized()
{
GanttQueryData = new Query().Where("Id", "greaterthan", 1);
}
private async Task changeQueryData()
{
GanttQueryData = new Query().Where("Name", "equal", "child 1");
myGantt.Refresh();
}
}
CustomComponent.razor
public Query QueryData { get; set; }
ganttcheckContext db = new ganttcheckContext();
// Performs data Read operation
public override object Read(DataManagerRequest dm, string key = null)
{
IEnumerable<Table> DataSource = db.Table;
if (this.QueryData.Queries.Where != null && this.QueryData.Queries.Where.Count > 0)
{
// Filtering
DataSource = DataOperations.PerformFiltering(DataSource, this.QueryData.Queries.Where, this.QueryData.Queries.Where[0].Operator);
}
int count = DataSource.Cast<Table>().Count();
return dm.RequiresCounts ? new DataResult() { Result = DataSource, Count = count } : (object)Service.Table;
} |