5 Answers, 1 is accepted
0
Hi Muhammad,
With the currently released version of the RadListView there is no way to select items through code. The good new is that the requested feature is included in our source code. This means it will be available in our next official release. It will be available for download by the end of January 2016.
Please stay tuned for the release and give it a try once it is out.
Regards,
Pavel R. Pavlov
Telerik
With the currently released version of the RadListView there is no way to select items through code. The good new is that the requested feature is included in our source code. This means it will be available in our next official release. It will be available for download by the end of January 2016.
Please stay tuned for the release and give it a try once it is out.
Regards,
Pavel R. Pavlov
Telerik
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Explore the
Telerik Feedback Portal
and vote to affect the priority of the items
0
Brent
Top achievements
Rank 1
answered on 16 May 2017, 12:53 PM
How is this done programmatically in code?
0
Hello Brent,
As advised in the ticket you have raised, you can work with the SelectedItems collection of the RadListView and add a specific item from the ItemsSource collection of the control. For Example:
Regards,
Stefan Nenchev
Telerik by Progress
As advised in the ticket you have raised, you can work with the SelectedItems collection of the RadListView and add a specific item from the ItemsSource collection of the control. For Example:
List<MyItem> items = new List<MyItem>();for (int i = 0; i < 5; i++){ items.Add(new MyItem() { Name = string.Format("Name {0}", i), ID = i });}this.listView.ItemsSource = items;this.listView.SelectedItems.Add((this.listView.ItemsSource as List<MyItem>)[1]);Regards,
Stefan Nenchev
Telerik by Progress
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Explore the
Telerik Feedback Portal
and vote to affect the priority of the items
0
san
Top achievements
Rank 1
answered on 24 Jan 2018, 09:36 PM
hi I have some problem regarding SelectedItems.
<telerikDataControls:RadListView Grid.Row="1" x:Name="listView" ItemsSource="{Binding Items}" SelectionChanged="Handle_SelectionChanged" SelectionMode="Multiple"/>Here is my code behind.
protected override async void OnAppearing() { base.OnAppearing(); IsBusy = true; await LoadData(); IsBusy = false; //listView.ItemsSource = Items; // if this is not set, the SelectedItems.Add method throw exception if (selectedInstances != null && selectedInstances.Any()) { { foreach (var item in selectedInstances) listView.SelectedItems.Add(item); } } }
private ObservableCollection<BaseListClass> _items; public ObservableCollection<BaseListClass> Items { get => _items; set { _items = value; OnPropertyChanged("Items"); } }void LoadData(){// Call To my web api to get the record in "list"var list= GetDataFromServer();Items = new ObservableCollection<BaseListClass>(list);}
So how can i show selected items on page load for "Multiple" selection mode of ListView?
0
Hello San,
You haven't provided enough information, but it's likely due to you not setting your BindingContext correctly, thus the RadListView's ItemsSource is null. I've written you a demo, attached.
For your convenience, here is the code:
Note that I removed the await operator from the call on LoadData. Your shared code is not compilable as LoadData is not marked async. Additionally, you should never use async void unless it's top level event handler.
I've attached a runnable demo for you to see this in action at runtime:

Regards,
Lance | Tech Support Engineer, Sr.
Progress Telerik
You haven't provided enough information, but it's likely due to you not setting your BindingContext correctly, thus the RadListView's ItemsSource is null. I've written you a demo, attached.
For your convenience, here is the code:
<ContentPage x:Name="MyPage" xmlns="http://xamarin.com/schemas/2014/forms" xmlns:telerikDataControls="clr-namespace:Telerik.XamarinForms.DataControls;assembly=Telerik.XamarinForms.DataControls" xmlns:listView="clr-namespace:Telerik.XamarinForms.DataControls.ListView;assembly=Telerik.XamarinForms.DataControls" x:Class="SelectedItemsOnPageLoad.Portable.StartPage"> <Grid BindingContext="{x:Reference MyPage}"> <telerikDataControls:RadListView x:Name="listView" ItemsSource="{Binding Items}" SelectionChanged="Handle_SelectionChanged" SelectionMode="Multiple"> <telerikDataControls:RadListView.ItemTemplate> <DataTemplate> <listView:ListViewTextCell Text="{Binding Name}"/> </DataTemplate> </telerikDataControls:RadListView.ItemTemplate> </telerikDataControls:RadListView> </Grid></ContentPage>namespace SelectedItemsOnPageLoad.Portable{ public partial class StartPage : ContentPage { private ObservableCollection<BaseListClass> _items; private ObservableCollection<BaseListClass> selectedInstances = new ObservableCollection<BaseListClass>(); public StartPage() { InitializeComponent(); } private void Handle_SelectionChanged(object sender, NotifyCollectionChangedEventArgs e) { } protected override void OnAppearing() { base.OnAppearing(); IsBusy = true; LoadData(); IsBusy = false; foreach (var selectedInstance in selectedInstances) { var instanceInItemsList = Items.FirstOrDefault(item => item.Name == selectedInstance.Name); listView.SelectedItems.Add(instanceInItemsList); } } public ObservableCollection<BaseListClass> Items { get => _items ?? (_items = new ObservableCollection<BaseListClass>()); set { _items = value; OnPropertyChanged(); } } void LoadData() { var list = Enumerable.Range(1, 20).Select(i => new BaseListClass { Name = $"Item {i}" }); foreach (var item in list) { Items.Add(item); } // adding some of the items to selected items collection selectedInstances.Add(Items[1]); selectedInstances.Add(Items[3]); selectedInstances.Add(Items[4]); } } public class BaseListClass { public string Name { get; set; } }}Note that I removed the await operator from the call on LoadData. Your shared code is not compilable as LoadData is not marked async. Additionally, you should never use async void unless it's top level event handler.
I've attached a runnable demo for you to see this in action at runtime:
Regards,
Lance | Tech Support Engineer, Sr.
Progress Telerik
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Explore the
Telerik Feedback Portal
and vote to affect the priority of the items
