I have a grid where I am setting the initially selected rows and it works fine until I also use the OnStateInit event to set the initial sorting. Once I do that the selections are not set.
<TelerikGrid Data="archivePermissions" Height="100%" Width="100%" ScrollMode="GridScrollMode.Scrollable"
Sortable="true" SortMode="SortMode.Single" SelectionMode="GridSelectionMode.Multiple" @bind-SelectedItems="selectedUsers"
FilterMode="GridFilterMode.FilterRow"
OnStateInit="@((GridStateEventArgs<GetArchivePermissionsModel> args) => OnStateInitHandler(args))">
<GridColumns>
<GridCheckboxColumn SelectAll="true" Width="30px" OnCellRender="@GridHelpers.CenterAlign" />
<GridColumn Field="@(nameof(GetArchivePermissionsModel.LastName))" Title="Last Name" />
<GridColumn Field="@(nameof(GetArchivePermissionsModel.FirstName))" Title="First Name" />
<GridColumn Field="@(nameof(GetArchivePermissionsModel.Role))" Title="Role">
<FilterCellTemplate>
<TelerikComboBox Data="roles" Value="@filteredRole" FilterOperator="StringFilterOperator.Contains"
Width="100%" ValueField="Name" TextField="Name"
ValueChanged="@(async (string val) =>
{
filteredRole = val;
var filter = context.FilterDescriptor.FilterDescriptors[0] as FilterDescriptor;
filter.Value = filteredRole;
if (string.IsNullOrEmpty(filteredRole))
{
await context.ClearFilterAsync();
}
else
{
await context.FilterAsync();
}
})">
</TelerikComboBox>
</FilterCellTemplate>
</GridColumn>
</GridColumns>
</TelerikGrid>
private void GetArchive()
{
var dbRoles = SecurityRepository.GetRoles();
roles = Mapper.Map<IEnumerable<ApplicationRole>, IEnumerable<RoleViewModel>>(dbRoles);
var dbArchive = DatabaseArchivingRepository.GetArchive(ArchiveId);
archive = Mapper.Map<Archive, ArchiveViewModel>(dbArchive);
origName = archive.DisplayName;
archivePermissions = DatabaseArchivingRepository.GetArchivePermissions(ArchiveId).ToList();
selectedUsers = archivePermissions.Where(a => a.HasAccess).ToList();
}
private void OnStateInitHandler(GridStateEventArgs<GetArchivePermissionsModel> args)
{
var state = new GridState<GetArchivePermissionsModel>
{
SortDescriptors = new List<SortDescriptor>()
{
new SortDescriptor("LastName", ListSortDirection.Ascending)
}
};
args.GridState = state;
}