Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2010, 16:32   #1
Serebah
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 44
По умолчанию Как связать дерево TreeView с таблицей StringGrid

Добрый день.
Помогите пожалуйста реализовать такой момент. Мне надо, чтоб при выборе элемента дерева в таблицу вводились какие-то данные которые характеризуют этот элемент дерева. При этом, если повторно выбрать элемент дерева, чтоб введенные данные снова отображались в таблице.
К примеру, справа на форме TreeView является перечнем автомобилей. При выборе кокретного автомобиля в этом дереве, слеве на форме в StringGrid показывается информация с датами когда этот автомобиль проходил техобслуживание.
Serebah вне форума Ответить с цитированием
Старый 22.12.2010, 17:15   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

А данные по автомобилям и датам их обслуживания где находятся?
Прик вне форума Ответить с цитированием
Старый 22.12.2010, 17:19   #3
Serebah
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 44
По умолчанию

Название автомобиля находится в дереве, а даты обслуживания находятся в таблице. При выборе конкретного автомобиля в дереве, видим в таблице даты обслуживания и описание этого обслуживания. При выборе другого автомобиля в дереве, в таблице видим уже другие даты и описания по выбранному автомобилю.
Serebah вне форума Ответить с цитированием
Старый 22.12.2010, 17:25   #4
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Цитата:
Мне надо, чтоб при выборе элемента дерева в таблицу вводились какие-то данные которые характеризуют этот элемент дерева
Я спрашиваю не про то что должно быть, а откуда вы берете (из какого источника) или откуда намереваетесь брать даты обслуживания, которые должны появляться в таблице?
Прик вне форума Ответить с цитированием
Старый 22.12.2010, 17:27   #5
Serebah
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 44
По умолчанию

Эти данные должны вводится вручную с клавиатуры в эту же таблицу. Таким образом, нужно чтоб данные в таблице были привязаны к конкретному элементу дерева.
Serebah вне форума Ответить с цитированием
Старый 22.12.2010, 17:50   #6
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

В каждом ноуде TreeView есть свойство Data (собственно, указатель на любой объект).
Не зная, конечно, всех тонкостей проекта решение обрисовать можно только примерно.
Объявить простой класс:
Код:
TAuto = class
  Dates : array of string; //если даты будут использоваться только в таблице, то 
        //хранить их в элементамх типа TDateTime нет необходимости
  Notes : array of string;
  procedure Add(aDate, aNote);
  destructor Destroy; //в деструкторе освобождаем память от элементов динамического массива
end;
После ввода даты и описания в таблицу в первую строку создается вышеописанный объект в его поля (массивы) добавляются данные, а ссылка (указатель) на сам объект заносится в свойство Data соответствующего ноуда.
Код:
TreeView1.Selected.Data := Auto; //Auto - здесь переменная нашего класса var Auto : TAuto;
Если нужно добавить дату обслуживания (с описанием), то проверяется привязан ли объект Auto к ноуду:
Код:
if TreeView1.Selected.Data <> nil then begin
  Auto := TAuto(TreeView1.Selected.Data);
  Auto.Add(date, note); 
end;
В общем, здесь нужен навык работы с дин.массивами.
И не забыть при закрытии приложения (или формы, как там в проекте должно быть) уничтожать созданные ранее объекты класса TAuto.
Прик вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как связать форму поиска с таблицей (Связь форм) Microshema Microsoft Office Access 1 24.06.2010 23:12
обьясните как связать TreeView и WebBrowser Above_men Помощь студентам 5 30.04.2010 14:41
как связать с главной таблицей другие таблицы Droid БД в Delphi 7 24.07.2008 13:36
Как работать с TreeView и таблицей базы данных? Ксюша Помощь студентам 2 24.05.2007 09:02
Как связать кнопку с таблицей Таня84 БД в Delphi 1 31.01.2007 14:02