Форум: "Базы";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];
Вниз
TreeView и базы данных Найти похожие ветки
← →
Scald (2003-09-24 08:42) [0]Добрый день! Помогите новичку разобраться с построением дерева баз данных в TreeView. Имеется таблица dict_description (id, tab_description, nm_description, comments) и туча таблиц от Klass01 до Klass150 (id, parent, nm, comments).Нужно представить их в виде дерева. Если можно, то приведите код, теоритически я принцип построения понимаю, а вот с кодом пока трудности. Заранее спасибо!
← →
Armaniak (2003-09-24 08:52) [1]Попробуй глянь сюда
http://www.delphikingdom.com/helloworld/dbtreeview.htm
← →
ЮЮ (2003-09-24 08:54) [2]Сначала создали тучу таблиц, не желая держать однотипные данные в одной таблице, а теперь возникло желание слить в кучу в одном дереве? Надо быть последовательным! :-)
← →
Scald (2003-09-24 09:30) [3]Не моя вина в том, таблицы уже появились за долго до меня, и начальству требуется их представить в таком виде, sorry!
← →
ЮЮ (2003-09-24 09:39) [4]>Если можно, то приведите код, теоритически я принцип построения понимаю, а вот с кодом пока трудности
Почему всем кажется, что писать код, не имея структур, просто?
Попытайся свои теоритически принципы превращать в код, а сталкнувшись с конкретными проблемами, добро пожаловать в Форум!!!
← →
Scald (2003-09-24 10:29) [5]procedure TForm1.TreeView1Expanded(Sender: TObject; Node: TTreeNode);
var id, i:integer;
TreeNode:TTreeNode;
begin
if Node=nil then id:=0
else id:=Integer(Node.Data);
adqKl_05.Close;
adqKl_05.ParamByName("Parent").AsInteger:=id;!!!!Ошибка
Undeclared identifier: "ParamByName"
adqKl_05.Open;
TreeView1.Items.BeginUpdate;
for i:=1 to adqKl_05.RecordCount do
begin
TreeNode:=TreeView1.Items.AddChildObject(Node, adqKl_05.FieldByName("nm").AsString, Pointer(adqKl_05.FieldByName("id").AsInteger));
TreeNode.ImageIndex:=1;
TreeNode.SelectedIndex:=2;
TreeView1.Items.AddChildObject(TreeNode, "", nil);
adqKl_05.Next;
end;
TreeView1.Items.EndUpdate;
end;
← →
Плохиш_ (2003-09-24 10:38) [6]>Scald (24.09.03 10:29) [5]
И что?
F1 нажимать не пробовал?
← →
dtm (2003-09-24 11:37) [7]Так я не понимаю - в чём проблема? В написании кода для построения дерева из N-го количества связанных таблиц?
Какое у тебя количество записей в таблицах? Если очень большое, то лучше, наверное, сгружать в TreeView не все, а только те, что видны должны быть.
Если не много, то сгружай все - сначала и первой таблицы считываешь данные и добавляешь в ТриВью, потом из второй таблицы достаёшь данные и рассовываешь "дитями" к тем узлам, что уже есть. Для этого надо хранить в каждом узле ID записи или что-то вроде того.
← →
ЮЮ (2003-09-25 03:22) [8]adqKl_05.ParamByName("Parent").AsInteger:=id;
!!!!Ошибка Undeclared identifier: "ParamByName"
если adqKl_05 типа TADOQuery, то не трудно (с помошью F1) убедиться, что у него действительно нет св-ва/метода ParamByName( о чём и сообщается в ошибке), но есть св-во Parameters, а вот у него уже есть метод ParamByName
adqKl_05. Parameters.ParamByName("Parent").AsInteger := id;
← →
stud (2003-09-25 09:26) [9]кроме того есть же готовые компоненты для отображения древовидных структур..
← →
Scald (2003-09-26 14:55) [10]Если можете, то подскажите где их можно скачать? Спасибо.
← →
stud (2003-09-26 14:58) [11]ну можно использовать пакет от Developer Express -
ExpressQuantumGrid Suite
официальную демку можно скачать на ихнем сайте а неофициальную .....
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c