|
<SfTab ID="Ej2Tab" LoadOn="ContentLoad.Demand" Width="100%">
<TabEvents Created="OnCreated" Selecting="OnSelecting" Selected="OnSelected"></TabEvents>
<TabItems>
<TabItem>
<ChildContent>
<TabHeader Text="Grid 1"></TabHeader>
</ChildContent>
<ContentTemplate>
<div style="height: 400px;width:800px">
<SfGrid DataSource="@OrderData" Height="100%" Width="100%">
. . . . .
</SfGrid>
</div>
</ContentTemplate>
</TabItem>
<TabItem>
<ChildContent>
<TabHeader Text="Grid 2"></TabHeader>
</ChildContent>
<ContentTemplate>
<div style="height: 400px;width:800px">
<SfGrid DataSource="@EmployeesData" Height="100%" Width="100%">
. . . . .
</SfGrid>
</div>
</ContentTemplate>
</TabItem>
</TabItems>
</SfTab>
</div>
@code {
public List<Order> Orders { get; set; }
public List<Order> OrderData { get; set; }
public List<EmployeeData> Employees { get; set; }
public List<EmployeeData> EmployeesData{ get; set; }
public async Task OnCreated() // will be triggered when tab is created
{
await Task.Yield();
OrderData = Orders; // update the datasource for first Grid with delay
}
public async Task OnSelecting(SelectingEventArgs Args) // will be triggered before selectign a tab
{
//empty the Grid Datasource
OrderData = null;
EmployeesData = null;
}
public async Task OnSelected(SelectEventArgs Args)// will be triggered when tab is selected
{
await Task.Yield();
// here udpate the selected tag Grid data.
if (Args.SelectedIndex == 0)
{
OrderData = Orders;
}
else if (Args.SelectedIndex == 1)
{
EmployeesData = Employees;
}
}
protected override void OnInitialized()
{
Orders = Enumerable.Range(1, 75).Select(x => new Order()
{
OrderID = 1000 + x,
CustomerID = (new string[] { "ALFKI", "ANANTR", "ANTON", "BLONP", "BOLID" })[new Random().Next(5)],
Freight = 2.1 * x,
OrderDate = DateTime.Now.AddDays(-x),
}).ToList();
Employees = Enumerable.Range(1, 75).Select(x => new EmployeeData()
{
EmployeeID = x,
FirstName = (new string[] { "Nancy", "Andrew", "Janet", "Margaret", "Steven" })[new Random().Next(5)],
LastName = (new string[] { "Davolio", "Fuller", "Leveringg", "peacock", "Smith" })[new Random().Next(5)],
Role = (new string[] { "Sales Representative", "Sales Representative", "Sales Manager", "HR Manager", "Inside Sales Coordinator" })[new Random().Next(5)],
HireDate = DateTime.Now.AddDays(-x),
}).ToList();
}
|