<SfGrid TValue="TaskList" ID="Grid">
<SfDataManager AdaptorInstance="@typeof(TaskListCustomAdaptor)"Adaptor="Adaptors.CustomAdaptor"></SfDataManager>
<GridColumns>
<GridColumn Field=@nameof(TaskList.Employee) HeaderText="Employee" Width="150">
<EditTemplate>
@{
List<Employee> employee = EmployeeCustomAdaptor
foreach (Employee emp in employee)
{
.........
...custom code
}
}
</EditTemplate>
</GridColumn>
<GridColumns>
</SfGrid>
|
<SfGrid TValue="TaskList" ID="Grid" AllowPaging="true" Toolbar="@(new List<string>() { "Add", "Delete", "Update", "Cancel" })">
<SfDataManager AdaptorInstance="@typeof(TaskListCustomAdaptor)" Adaptor="Adaptors.CustomAdaptor"></SfDataManager>
...
<GridColumns>
<GridColumn Field=@nameof(TaskList.OrderID) HeaderText="Order ID" IsPrimaryKey="true" TextAlign="@TextAlign.Center" Width="140"></GridColumn>
<EditTemplate>
@{
var task = (context as TaskList);
<SfDropDownList TValue="string" @bind-Value="@task.CustomerID" TItem="Employee">
<SfDataManager AdaptorInstance="@typeof(EmployeeCustomAdaptor)" Adaptor="Adaptors.CustomAdaptor"></SfDataManager>
<DropDownListFieldSettings Value="FirstName"></DropDownListFieldSettings>
</SfDropDownList>
}
</EditTemplate>
</GridColumn>
</GridColumns>
</SfGrid>
@code{
public static List<TaskList> Orders { get; set; }
public static List<Employee> Employees { get; set; }
protected async override Task OnInitializedAsync()
{
Orders = await Http.GetFromJsonAsync<List<TaskList>>("https://ej2services.syncfusion.com/production/web-services/api/Orders");
Employees = await Http.GetFromJsonAsync<List<Employee>>("https://ej2services.syncfusion.com/production/web-services/api/Employees");
}
...
public class TaskListCustomAdaptor : DataAdaptor
{
public override object Read(DataManagerRequest dm, string key = null)
{
IEnumerable<TaskList> DataSource = Orders;
...
return dm.RequiresCounts ? new DataResult() { Result = DataSource, Count = count } : (object)DataSource;
}
...
}
public class EmployeeCustomAdaptor : DataAdaptor
{
public override object Read(DataManagerRequest dm, string key = null)
{
IEnumerable<Employee> DataSource = Employees;
...
return dm.RequiresCounts ? new DataResult() { Result = DataSource, Count = count } : (object)DataSource;
}
}
}
|
...
@code{
protected async override Task OnInitializedAsync()
{ }
}
|