I have a listbox where I feed a default value into the class in the url. I am able to populate the bound SelectedItems value but it doesn't highlight the selected value in the control. How do I do this?
<TelerikListBox Data="@SessionOptionTemplates" Width="350px"
SelectionMode="ListBoxSelectionMode.Single"
TextField="@nameof(SessionOptionTemplate.Name)"
OnReorder="@((ListBoxReorderEventArgs<SessionOptionTemplate> args) => OnReorderSessionOptionTemplates(args))"
OnRemove="@((ListBoxRemoveEventArgs<SessionOptionTemplate> args) => OnRemoveSessionOptionTemplates(args))"
SelectedItemsChanged="@((IEnumerable<SessionOptionTemplate> selectedTemplates) => OnSelectedSessionOptionTemplate(selectedTemplates))">
<ListBoxToolBarSettings>
<ListBoxToolBar Visible="true">
<ListBoxToolBarMoveUpTool />
<ListBoxToolBarMoveDownTool />
<ListBoxToolBarRemoveTool />
<ListBoxToolBarCustomTool>
<TelerikButton Icon="@SvgIcon.DetailSection"
Enabled="@( SelectedSessionOptionTemplate != null )"
OnClick="@ShowEditDialogSessionOptionTemplates" />
</ListBoxToolBarCustomTool>
</ListBoxToolBar>
</ListBoxToolBarSettings>
</TelerikListBox>
public async Task OnSelectedSessionOptionItem(
IEnumerable<SessionOptionItem> selectedItems)
{
if (selectedItems.Any())
{
SessionOptionItem selectedItem =
selectedItems.FirstOrDefault(x =>
x.Id == selectedItems.First().Id);
if (selectedItem != null)
{
SelectedSessionOptionItems =
new List<SessionOptionItem>()
{
selectedItem
};
}
}
await Task.CompletedTask;
}
public async Task OnSelectedSessionOptionTemplate(
IEnumerable<SessionOptionTemplate> selectedItems)
{
if (selectedItems.Any())
{
SessionOptionTemplate selectedItem =
selectedItems.FirstOrDefault(x =>
x.Id == selectedItems.First().Id);
if (selectedItem != null)
{
SelectedSessionOptionTemplates =
new List<SessionOptionTemplate>() { selectedItem };
SessionOptionItemClient.AccessToken = AccessToken;
SessionOptionItemClient.CustomerUniqueId = CustomerUniqueId;
var itemResponse =
await SessionOptionItemClient.GetBySessionOptionTemplateIdAsync(
selectedItem.Id);
if (itemResponse != null &&
itemResponse.IsSuccess &&
itemResponse.Result != null)
{
SessionOptionItems =
itemResponse.Result.OrderBy(x => x.Order).ToList();
if (SessionOptionItems.Any())
{
await OnSelectedSessionOptionItem(
new List<SessionOptionItem>() { SessionOptionItems.First() });
}
}
else
{
SessionOptionItems = null;
}
}
}
}
private IEnumerable<SessionOptionTemplate> SelectedSessionOptionTemplates { get; set; } =
new List<SessionOptionTemplate>();