|
Вопрос # 5 057/ вопрос открыт / |
|
Здравствуйте!
У меня на форме есть TreeView и DBGrid. На главной форме есть TTreeView(рабочий, добовляет, удаляет,редактирует записи дерева) и на дочерной форме DBGrid, и общая база данных access, как сделать так что бы при выделении определённого узла в TTreeView отображалась соответсвующая запись в DBGrid???
 |
Вопрос задал: strannik23 (статус: Посетитель)
Вопрос отправлен: 28 февраля 2011, 21:50
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 17; последнее сообщение — 1 марта 2011, 16:16; участников в обсуждении: 2.
|
strannik23 (статус: Посетитель), 1 марта 2011, 14:24 [#1]:
кто нибудь помочь может???
|
|
Вадим К (статус: Академик), 1 марта 2011, 14:44 [#2]:
можем. Задача решаемая.
Напишите такой код для кнопки
Table.first;
while not table.eof do begin
sleep(1);
Application.ProcessMessagel
table.next;
end;
где table - это либо TTable или TQuery, который привязан к гриду.
Потом посмотрите на результат. Увидите, что "курсор" перемещается по записям. Дальше попробуйте сами.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Вадим К (статус: Академик), 1 марта 2011, 15:01 [#4]:
Цитата (strannik23):
что такое Application.ProcessMessagel
там в конце должна быть точка с запятой, а не l. опечатался.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Вадим К (статус: Академик), 1 марта 2011, 15:03 [#5]:
хотя может я не до конца прочувствовал вопрос. Нужно что бы нужная запись становилась активной, или в гриде оставалась только она одна?
Галочка "подтверждения прочтения" - вселенское зло.
|
|
strannik23 (статус: Посетитель), 1 марта 2011, 15:10 [#6]:
нужно сделать так что, при выделении узла(ветки) TTreeView, в DBGrid выделилась именно та строка которая соответсвует выделенному узлу, к примеру в дереве есть ветка "отделы",соответственно при выделении этой ветки в гриде отобразилась запись которая принадлежит именно этому отделу
|
|
Вадим К (статус: Академик), 1 марта 2011, 15:12 [#7]:
записи в гриде и записи в дереве должны объединять ключи, не так ли?
Галочка "подтверждения прочтения" - вселенское зло.
|
|
strannik23 (статус: Посетитель), 1 марта 2011, 15:17 [#8]:
это если разные таблицы, а у меня одна таблица в которой стоится дерево и в ней же храняться записи, дерево и грид подключены к ADOTable
|
|
strannik23 (статус: Посетитель), 1 марта 2011, 15:23 [#9]:
я всё делал по примеру в интуите, мне лишь нужно сделать так что бы, когда я встаю на узел дерева, то в гриде отображаласть запись относящяяся к узлу на котором стою в данный момент
|
|
Вадим К (статус: Академик), 1 марта 2011, 15:31 [#10]:
Цитата (strannik23):
это если разные таблицы, а у меня одна таблица в которой стоится дерево и в ней же храняться записи, дерево и грид подключены к ADOTable
А это не имеет никакого значения. Когда мышкой выделяем запись в дереве, нужно знать, что это за запись, что бы потом ее найти в базе. То есть, в treeview нодах нужно сохранять id записи. тогда и выделить нужную запись будет банально просто.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
strannik23 (статус: Посетитель), 1 марта 2011, 15:33 [#11]:
а по подробнее можно? каким образом это реализовать? в этом я совсем не разбираюсь, а нужно так сделать
|
|
Вадим К (статус: Академик), 1 марта 2011, 15:36 [#12]:
как сделать - есть много способов. можно например сохранять id в свойстве data ноды.
А можно просто-просто. так как текст ноды для дерева известен и в таблице он есть, то пользуемся
AdoTable1.Locate('Name','Zoom',[]);
где Name - это имя поля, хранящего эти имена, а zoom - это значение поля, в данном случае node.caption
Галочка "подтверждения прочтения" - вселенское зло.
|
|
strannik23 (статус: Посетитель), 1 марта 2011, 15:42 [#13]:
на событие onChange???
|
|
Вадим К (статус: Академик), 1 марта 2011, 15:51 [#14]:
наверное.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
strannik23 (статус: Посетитель), 1 марта 2011, 16:01 [#15]:
что то не получается
|
|
strannik23 (статус: Посетитель), 1 марта 2011, 16:08 [#16]:
можете подкинуть ещё пару идей? или как нибудь помочь ещё
|
|
Вадим К (статус: Академик), 1 марта 2011, 16:16 [#17]:
я не знаю, что именно там не получается, поэтому не могу подкинуть никаких идей.
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|