|
<button @onclick="Add">Add Record</button>
<SfGrid @ref="Grid" DataSource="@Orders" AllowPaging="true" Height="315">
<GridEditSettings AllowAdding="true" AllowEditing="true" AllowDeleting="true"></GridEditSettings>
<GridColumns>
<GridColumn Field=@nameof(Order.OrderID) HeaderText="Order ID" IsPrimaryKey="true" TextAlign="TextAlign.Right" Width="120"></GridColumn>
. . .
<GridColumn HeaderText="Manage Records" Width="150">
<GridCommandColumns>
. . .
</GridCommandColumns>
</GridColumn>
</GridColumns>
</SfGrid>
@code{
SfGrid<Order> Grid;
. . .
public async Task Add()
{
await Grid.AddRecord();
}
} |
|
<button @onclick="Expand">Expand</button>
<button @onclick="Collapse">Collapse</button>
<SfGrid @ref="Grid" DataSource="@Employees" Height="600" >
<GridFilterSettings Type="Syncfusion.Blazor.Grids.FilterType.Menu"></GridFilterSettings>
<GridPageSettings PageSize="40"></GridPageSettings>
<GridTemplates>
<DetailTemplate>
@{
var employee = (context as EmployeeData);
<SfGrid DataSource="@Orders" Query="@(new Query().Where("EmployeeID", "equal", employee.EmployeeID))">
. . .
</SfGrid>
}
</DetailTemplate>
</GridTemplates>
<GridColumns>
. . .
</GridColumns>
</SfGrid>
@code{
SfGrid<EmployeeData> Grid;
public List<EmployeeData> ExpandedRecords { get; set; } = new List<EmployeeData>();
. . .
public void Expand()
{
var rec = Employees.Where(or => or.FirstName == "Nancy" || or.FirstName == "Smith"); //check condition
ExpandedRecords = rec.ToList();
for (var i = 0; i < ExpandedRecords.Count; i++)
{
Grid.DetailExpandCollapseRow(ExpandedRecords[i]); //expand particular detail rows
}
}
public void Collapse()
{
Grid.DetailCollapseAll(); //collapse detail rows
}
} |