<SfRadioButton Label="Group" TChecked="string" Name="options" @bind-Checked="stringChecked" Value="Group" ValueChange="@((args)=>OnChange(args,"Group"))"></SfRadioButton>
<SfRadioButton Label="No" TChecked="string" Name="options" @bind-Checked="stringChecked" Value="No" ValueChange="@((args)=>OnChange(args,"No"))"></SfRadioButton>
<SfGrid @ref="Grid" DataSource="@Employees" AllowGrouping="true" Height="315px">
<GridGroupSettings Columns="@cols" ShowDropArea="false">
<CaptionTemplate>
@{
var order = (context as CaptionTemplateContext);
<div>@GetData(order)</div>
}
</CaptionTemplate>
</GridGroupSettings>
<GridTemplates>
<DetailTemplate>
@{
var employee = (context as EmployeeData);
<SfGrid DataSource="@Orders" Query="@(new Query().Where("EmployeeID", "equal", employee.EmployeeID))">
<GridColumns>
</GridColumns>
</SfGrid>
}
</DetailTemplate>
</GridTemplates>
<GridColumns>
<GridColumn Field=@nameof(EmployeeData.FirstName) HeaderText="First Name" Width="110"> </GridColumn>
</GridColumns>
</SfGrid>
@code{
public SfGrid<EmployeeData> Grid { get; set; }
public string[] cols { get; set; } = new string[] { "EmployeeID" };
private string stringChecked = "No";
public void OnChange(ChangeArgs<string> Args, string val)
{
if(val == "Group")
{
cols = new string[] { "Title" };
}
else if(val == "No")
{
cols = new string[] { "EmployeeID" };
}
}
public string GetData(CaptionTemplateContext args)
{
if (args.Field == nameof(EmployeeData.EmployeeID))
{
return "";
}
else
{
return $"{args.Field} : {args.Key} - {args.Count.ToString()} items";
}
}
|