|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.12.2014, 10:51 | #1 |
Пользователь
Регистрация: 11.12.2014
Сообщений: 66
|
C# TreeView дерево фамилий из базы
Подскажите логику, как организовать список фамилий, на манер записной книжки, когда узлы группируются по заглавным буквам фамилий в алфавитном порядке. Например я читаю из базы столбец фамилий уже сортированных в алфавитном порядке в самом запросе, получаю
Авакумов Агапова Агарков Будкин Буров Иванова Искомов Ежов И нужно эти фамилии передать в TreeView для такого вида, где первая буква фамилии образует родительский узел дерева, а фамилии помещаются в дочерние А -Авакумов -Агапова -Агарков Б -Будкин -Буров И -Иванова -Искомов Е -Ежов Читаю столбец из бд аксеса, передаю их в DataReader и потом в While цикле пытаюсь на лету сортировать и добавлять узлы в TreeView, но не очень получается. |
11.12.2014, 10:58 | #2 |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Таксист, откройте для себя оператор SQL ORDER BY и будет Вам счастье.
В чём, конкретно, трудности? |
11.12.2014, 11:09 | #3 | |
Пользователь
Регистрация: 11.12.2014
Сообщений: 66
|
Цитата:
|
|
11.12.2014, 11:48 | #4 |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Можно, например, создать массив из букв алфавита и обходить его в цикле.
На каждом шаге текущую букву подставлять в оператор LIKE. Таким образом, для каждой буквы алфавита будет сразу же формироваться необходимый набор данных, который можно добавить в treeview. |
11.12.2014, 11:52 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
11.12.2014, 12:28 | #6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Какой еще LIKE? Зачем 33 запроса делать?!
Можно же просто идти в цикле по отсортированному списку и добавлять в TreeView родительский узел если еще нет + саму фамилию. Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
12.12.2014, 18:01 | #7 | |
Пользователь
Регистрация: 11.12.2014
Сообщений: 66
|
Цитата:
Например String tag ="Text"; Вот так Вы создавали узел и дочерний узел, var parentNode = treeView1.Nodes[letter]; parentNode.Nodes.Add(name); Вот я пробую так и оно естественно не работает( parentNode.Nodes.Add(name).Tag = tag; |
|
12.12.2014, 18:56 | #8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
12.12.2014, 20:00 | #9 |
Пользователь
Регистрация: 11.12.2014
Сообщений: 66
|
Спасибо, все работает!
Я беру список фамилий из базы и в цикле по вашему алгоритму загоняю в Treeview, но необходимо в каждый дочерний элемент добавлять не только фамилию, но и id, что бы потом по клику в Treeview, по этому id из базы дергалась вся строка с информацией о пользователе и помещалась в label для отображения на форме. Вот у меня так происходит по клику Код:
Последний раз редактировалось Таксист; 12.12.2014 в 20:13. |
12.12.2014, 20:12 | #10 | |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Цитата:
Фамилия, которая "идёт" в treeview не уникальное поле. Поэтому, сделать отбор по ней нельзя. Последний раз редактировалось Streletz; 12.12.2014 в 22:40. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не грузится дерево в TreeView | artemavd | Общие вопросы Delphi | 0 | 23.04.2012 20:26 |
загрузить дерево из текстового файла в treeview | hunter03 | Помощь студентам | 2 | 26.11.2011 15:42 |
Как связать дерево TreeView с таблицей StringGrid | Serebah | Общие вопросы Delphi | 5 | 22.12.2010 17:50 |
обработчики добавления и удаления в дерево (TreeView) | kayman | Компоненты Delphi | 10 | 08.03.2010 11:17 |
Выборка из списка фамилий определенных фамилий | KNatalia | Microsoft Office Excel | 6 | 28.09.2009 05:31 |