Answer the question
In order to leave comments, you need to log in
How to add a SearchBar to a Xamarin Form project?
I have code
public partial class Dati : ContentPage
{
internal static IEnumerable<object> dati;
public ObservableCollection<Grouping<string, Data>> DatiGroups { get; set; }
public Dati()
{
InitializeComponent();
var dati = new List<Data>
{
new Data {Vek ="VI-IX века", Title="6 – 9 вв.", Opicanie="Образование племенных союзов Восточных славян." },
new Data {Vek ="VI-IX века", Title="9 в.", Opicanie="Создание ранних государственных объединений Восточных славян в районе Днепра и оз. Ильмен." },
new Data {Vek ="VI-IX века", Title="860", Opicanie="Объединенный морской поход Днепровских славян и варягов на Константинополь (Царьград)." },
new Data {Vek ="VI-IX века", Title="862– 879", Opicanie="Княжение Рюрика в Новгороде." },
new Data {Vek ="VI-IX века", Title="862 – 882", Opicanie="Правление в Киеве князей Аскольда и Дира." },
new Data {Vek ="VI-IX века", Title="882 – 912", Opicanie="Княжение Олега в Киеве." },
new Data {Vek ="VI-IX века", Title="907", Opicanie="Поход Олега на Константинополь. Первый договор Руси с Византией о дружественных отношениях, нормах международной торговли и мореплавания." },
new Data {Vek ="VI-IX века", Title="911", Opicanie="Второй договор Руси с Византией." },
new Data {Vek ="VI-IX века", Title="912 – 945", Opicanie="Княжение Игоря в Киеве." },
new Data {Vek ="VI-IX века", Title="941", Opicanie="Первый поход князя Игоря на Константинополь, закончившийся провалом." },
new Data {Vek ="VI-IX века", Title="944", Opicanie="Второй поход князя Игоря на Константинополь. Договор Руси с Византией. (Русь теряла право беспошлинной торговли и обязывалась оказывать помощь в охране пограничных с нею владений Византии)." },
new Data {Vek ="VI-IX века", Title="945 – 969", Opicanie="Правление Ольги в Киеве (после убийства древлянами ее мужа князя Игоря)." },
new Data {Vek ="VI-IX века", Title="945 – 972(973)", Opicanie="Княжение Святослава Игоревича в Киеве." },
new Data {Vek ="VI-IX века", Title="Около 957", Opicanie="Посольство княгини Ольги в Константинополь. Принятие ею христианства (под именем Елена)." },
new Data {Vek ="VI-IX века", Title="965", Opicanie="Разгром князем Святославом Хазарского каганата (на нижней Волге). Установление контроля над торговым путем Волга – Каспийское море." },
new Data {Vek ="VI-IX века", Title="968 – 971", Opicanie="Походы князя Святослава в Дунайскую Болгарию. Войны с Византией и печенегами." },
new Data {Vek ="VI-IX века", Title="968 (969)", Opicanie="Разгром печенегов под Киевом." },
new Data {Vek ="VI-IX века", Title="971", Opicanie="Договор Руси с Византией." },
new Data {Vek ="VI-IX века", Title="972(973) – 980", Opicanie="Междоусобицы в Киеве после убийства печенегами князя Святослава." },
new Data {Vek ="VI-IX века", Title="980 – 1015", Opicanie="Княжение Владимира I Святославича в Киеве." },
new Data {Vek ="VI-IX века", Title="980", Opicanie="Создание единого пантеона языческих богов в Киеве." },
new Data {Vek ="VI-IX века", Title="98", Opicanie="Поход князя Владимира на волжских булгар." },
new Data {Vek ="VI-IX века", Title="988 – 989", Opicanie="Крещение Руси." },
new Data {Vek ="VI-IX века", Title="990-е гг.", Opicanie="Сооружение в Киеве церкви Успения Богородицы (Десятинной церкви)." },
};
var groups = dati.GroupBy(p => p.Vek).Select(g => new Grouping<string, Data>(g.Key, g));
// передаем группы в PhoneGroups
DatiGroups = new ObservableCollection<Grouping<string, Data>>(groups);
this.BindingContext = this;
}
private void SearchBar_TextChanged(object sender, TextChangedEventArgs e)
{
//thats all you need to make a search
if (string.IsNullOrEmpty(e.NewTextValue))
{
phonesList.ItemsSource = dati;
}
else
{
phonesList.ItemsSource = dati.Where(x => x.Title.StartsWith(e.NewTextValue));
}
}
}
}
phonesList.ItemsSource = dati.Where(x => x.Title.StartsWith(e.NewTextValue));
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question