Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2018.02.25;
Скачать: CL | DM;

Вниз

Как быстро заполнить TreeView по данным ClientDataset   Найти похожие ветки 

 
gedevan   (2016-02-27 06:59) [0]

В ClientDataSet таблица структуры Parent,Name,Index

ну и соответственно в эту таблицу забито дерево. В этом дереве присутствует корневой элемент, который имеет всегда одинаковое имя. И вот я заполнял TreeView  создавая в нем сначала этот корневой элемент, а потом делая фильтр по датасету по этому имени. И получал список ему подчиненных узлов и т.д.

ClientDataSet1.Filtered := false;
ClientDataSet1.filter := "Parent = """ + ParentNode + """";
ClientDataSet1.Filtered := true;


И в итоге мы пришли к тому, что 500 элементов заполняются 8 секунд, что как бы меня не устроило. Также я выяснил, что самое медленное место это как раз вот этот код.

Тогда  я решил пойти другим путем, отсортировав по полю Index дата сет и просто прямым циклом делал по нему перебор. А в дереве искал среди добавленных уже узлов родителя очередного элемента и прицеплял к нему новый. Я надеялся, что родительские элементы добавляются в таблицу раньше чем подчиненные и поэтому если идти по порядку по полю Index, то не получится так, что прицеплять элемент не к чему, т.к. родитель в дерево еще не добавлен. Зря я на это надеялся. Особенно потому что в процессе работы, подчиненный элемент могут перепривязать к другому родителю. Хотя этим методом заполнение 500 записей заняло 1 секунду. Но несколько записей просто никуда не привязались...

Что же делать..

Единственное, что мне приходит в голову, это перенумеровать поле Index как то. А как его перенумеровать в голову мне не приходит.


 
gedevan   (2016-02-27 08:03) [1]

ClientDataSet1 локальный, ни к чему не подключенный.



Страницы: 1 вся ветка

Текущий архив: 2018.02.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.004 c
2-1456545588
gedevan
2016-02-27 06:59
2018.02.25
Как быстро заполнить TreeView по данным ClientDataset


15-1470413637
andrd
2016-08-05 19:13
2018.02.25
Какую версию Embarcadero RAD Studio посоветуете?


2-1456497894
Dmk
2016-02-26 17:44
2018.02.25
Вопрос знатокам асм


15-1469810835
MsGuns
2016-07-29 19:47
2018.02.25
Вот собираюсь в новую жизнь


1-1356093530
harisma
2012-12-21 16:38
2018.02.25
QuickReport: TQRband