<EjsButton @onclick="ChangeURL">Change Url</EjsButton>
<EjsGrid @ref="Grid" TValue="Order" AllowPaging="true">
<EjsDataManager Url="@URL" Adaptor="Adaptors.ODataV4Adaptor"></EjsDataManager>
</EjsGrid>
@code{
EjsGrid<Order> Grid;
public void ChangeURL()
{
URL = "https://services.odata.org/V4/Northwind/Northwind.svc/Employees/"; //Change the property value for Url
this.Grid.Refresh(); //Call the Refresh() method to reflect the changes
}
public class Order
{
public int? EmployeeID { get; set; }
}
}
|
Sorry Renjith,
<EjsButton OnClick="@ChangeUrl">Change Url</EjsButton>
<EjsDataManager @ref="DataManager" Url="@URL" Adaptor="Syncfusion.EJ2.Blazor.Adaptors.WebApiAdaptor"></EjsDataManager> @*Render EjsdataManager outside Grid*@
<EjsGrid @ref="Grid" DataSource="DataSource" TValue="Order" AllowPaging="true"> @*Bind the data to Grid using DataSource property*@
<GridColumns>
<GridColumn Field=@nameof(Order.EmployeeID) HeaderText="Year" AutoFit="true" TextAlign="TextAlign.Left"> </GridColumn>
</GridColumns>
</EjsGrid>
@code{
EjsDataManager DataManager;
EjsGrid<Order> Grid;
public string URL = "https://ej2services.syncfusion.com/production/web-services/api/Employees";
public IEnumerable<Order> DataSource { get; set; } = new List<Order>();
public bool toggle = false;
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender || toggle)
{
object data = await DataManager.ExecuteQuery<Order>(new Query()); //Fetch the data from the online api service
DataSource = (data as IEnumerable).Cast<Order>().ToList(); //Assign the data to DataSource property
toggle = false;
StateHasChanged();
}
}
public class Order
{
public int? EmployeeID { get; set; }
}
public async void ChangeUrl()
{
URL = "https://ej2services.syncfusion.com/production/web-services/api/Orders"; //Change the Url value.
toggle = true;
}
}
|