Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.75/24: Рейтинг темы: голосов - 24, средняя оценка - 4.75
Сергей.NET
Программист
401 / 401 / 7
Регистрация: 10.09.2010
Сообщений: 1,344
1

Работа с Listbox-ом

22.01.2011, 19:08. Просмотров 4381. Ответов 23
Метки нет (Все метки)

Есть Листбокс, он привязан к базе данных, как можно сделать поиск по его элементам. то есть когда пишешь букву "а" появляются слова, которые начинаются на эту букву, когда пишешь вторую букву скажем "аб", появляются слова которые начинаются с "аб", ну и так далее!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2011, 19:08
Ответы с готовыми решениями:

Работа с ListBox
Доброго времени суток форумчане. подскажите пожалуйста работаю с listbox, хочу...

Создание и работа с ListBox
Здравствуйте проффи по WPF. Недавно только начал изучать WPF и по этому...

Работа с ListBox
Хочу добавить в ListBox строки, а затем изменять их значения, и чтобы это...

listBox работа с элементами по индексу
1)Как узнать имя элемента по индексу в listBox? 2)Как узнать количество...

MVVM. Как прибиндить TextBox к вложенному ListBox в ListBoxItem основного ListBox
<UserControl x:Class="Wpf_CareerPattern.Views.MainView" ...

23
Eugene22
_
2351 / 1224 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
23.01.2011, 21:31 21
Если честно, с ItemsSource я сегодня первый день работал, но я так понял, что тут альтернатива - либо ты привязываешь коллекцию например элементов к ItemsSource, либо вручную добавляешь элементы в список методом Add.
1
Сергей.NET
Программист
401 / 401 / 7
Регистрация: 10.09.2010
Сообщений: 1,344
23.01.2011, 21:34  [ТС] 22
просто использую это свойство, потом связываю 2 ой столбик с textblock , и когда что то выбираешь в листбоксе, текстблоке появляется соответствующий текст!
1
Rio900
24 / 24 / 5
Регистрация: 16.07.2009
Сообщений: 44
24.01.2011, 02:05 23
Eugene22 по поводу ItemsSource ты прав, так оно и есть.

Вот реализация этого решения если использовать Linq to Sql

Я там таблицу заполняю случайными Guid, учти что они все начинаются на букву "а"

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
        /// <summary>
        /// Мое Linq соединение
        /// У меня в базе 1 таблица UsrSt, с которой я работаю
        /// В ней поля;
        /// Id, Name, Rols
        /// </summary>
        DataClasses1DataContext _Mlc = new DataClasses1DataContext();
 
        public MainWindow()
        {
            InitializeComponent();
            ///В нем я заполню таблицу базы строками
            ///После выполнения этого метода в моей 
            ///таблице UserSet появится 1000 случайных записей
            GetData();
 
        }
        private void GetData()
        {
            ///Проверяю, если таблица в базе пустая, то ее заполню
            if (_Mlc.UserSets.Count() == 0)
            {
                ///Запишем в таблицу 1000 записей
                for (int i = 0; i < 1000; i++)
                {
                    ///Создаю строку для записи
                    UserSet usr = new UserSet() { 
                        ///Не важно
                     Id = i,
                     ///Тут cделаем случайную строку
                      Name = Guid.NewGuid().ToString(),
                        ///Не важно
                       Rols = ""
                    };
                    ///Добавление строки в таблицу
                    _Mlc.UserSets.InsertOnSubmit(usr);
                }
                ///Вносим изменения в базу
                _Mlc.SubmitChanges();
            }
        }
 
        private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
        {
            TextBox ThisTb = sender as TextBox;
            
            if (!string.IsNullOrEmpty(ThisTb.Text))
            {
                ///Тут шлем запрос
                ///Select(p=>p.Name) - получаем только имена пользователей
                ///Take(10) - последних 10 
                var Data = _Mlc.UserSets.Where(p => ThisTb.Text.Length<= p.Name.Length? p.Name.Substring(0, ThisTb.Text.Length) == ThisTb.Text:false).Select(p=>p.Name).Take(10);
                C_listBox1.ItemsSource = Data;
            }
        }
Добавлено через 2 часа 4 минуты
Хорошая тема. Она меня вдохновила написать статью на свой блог . Спасибо всем кто участвует в обсуждении.
1
Сергей.NET
Программист
401 / 401 / 7
Регистрация: 10.09.2010
Сообщений: 1,344
03.02.2011, 19:50  [ТС] 24
Сейчас пользуюсь комбобоксом для которого iseditable=true, тоже очень "красиво"выбирает похожие слова
1
03.02.2011, 19:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2011, 19:50

Сделать выборку в ListBox, в зависимости от выбора Item в другом ListBox'e?
Добрый всем день! Подскажите пожалуйста, как можно сделать выборку в listbox, в...

ListBox - как задать DisplayMemberPath для элементов входящих в ListBox, если они разные, а не одного класса?
ListBox - как задать DisplayMemberPath для каждого из типов элементов входящих...

Работа с ListBox
Дан ListBox. В нем идут списком перечисления тем по предмету и номера лекций:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru