|
<SfGrid DataSource="@Orders" @ref="Grid" TValue="Order" AllowSelection="true" AllowPaging="true">
<GridPageSettings PageSize="100"></GridPageSettings>
<GridSelectionSettings CheckboxOnly="true" Type="Syncfusion.Blazor.Grids.SelectionType.Multiple"></GridSelectionSettings>
<GridEvents RowSelecting="RowSelectingHandler" TValue="Order"></GridEvents>
<GridColumns>
<GridColumn Type="ColumnType.CheckBox" Width="50"></GridColumn>
.
.
</GridColumns>
</SfGrid>
@code {
public async Task RowSelectingHandler(RowSelectingEventArgs<Order> args)
{
if (args.IsHeaderCheckboxClicked &&
!flag) //if
header checkbox clicked
{
flag = true;
args.Cancel = true;
var len = args.RowIndexes.Count;
for (int i = 0; i < len; i++)
{
if
((args.Datas[i].OrderID) > 1003)
{
var
value = args.Datas[i].OrderID;
var
rowIndex = Grid.GetRowIndexByPrimaryKeyAsync(value);
int
rvalue = Convert.ToInt32(rowIndex.Result);
RowIndexs.Add(rvalue); //add
row index to list
}
}
await Grid.SelectRowsAsync(RowIndexs.ToArray());//
select rows
flag = false; //reset flag
}
}
}
|