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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2009, 16:20   #1
evgenmil
Пользователь
 
Регистрация: 29.11.2008
Сообщений: 16
Вопрос Связывание TreeView и ListView совместно с Access

Здравствуйте! Пишу программу, по крайней мере, пытаюсь ее писать, но очень много трудностей возникает, надеюсь на вашу помощь.
На форме есть TreeView и ListView, также ADOConnection и ADOQuery. и таблица Access: (см. рисунок)

TreeView заполнен таким образом: (см. рисунок)

С помощью ADOQuery я вывожу строки из таблицы в ListView: (см. код)
Код:
procedure TForm1.LoadTasks;
var
  res, id_par, id_bab: string;
begin
TasksLV.Items.BeginUpdate;
TasksLV.Items.Clear;
  case TreeView1.Selected.Parent.Index of
   -1: id_par := 'where ID_parent = 0';
    0: id_par := 'where ID_parent = 0';
    1: id_par := 'where ID_parent = 1';
    2: id_par := 'where ID_parent = 2';
  end;
  case TreeView1.Selected.Index of
    0: id_bab := 'ID_baby = 0';
    1: id_bab := 'ID_baby = 1';
    2: id_bab := 'ID_baby = 2';
  end;
ADOQuery1.SQL.Text := 'select * from task ' + id_par + ' and ' + id_bab;
ADOQuery1.Open;
while not ADOQuery1.Eof do
  begin
    with TasksLV.Items.Add do
      begin
      Data := Pointer(ADOQuery1.FieldByName('ID').AsInteger);
      Caption := ADOQuery1.FieldByName('title').AsString;
      SubItems.Add(ADOQuery1.FieldByName('description').AsString);
      SubItems.Add(ADOQuery1.FieldByName('ID_parent').AsString);
      SubItems.Add(ADOQuery1.FieldByName('ID_baby').AsString);
    //SubItems.Add(ADOQuery1.FieldByName('run').AsString);
      if ADOQuery1.FieldByName('run').AsInteger = 0 then res := 'Нет'
      else res := 'Да';
      SubItems.Add(res);
      end;
      ADOQuery1.Next;
  end;
 TasksLV.Items.EndUpdate;
end;
на событие изменения TreeView я поставил загрузку этой процедуры LoadTasks:
Код:
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
LoadTasks;
end;
Но при компиляции программы, и на событие OnChange - TreeView, показ итемов в ListView происходит неправильно, как задумано. Помогите найти правильный ход решения моей задумки, и исправить ее.
Заранее благодарю!
Изображения
Тип файла: jpg task.jpg (27.5 Кб, 195 просмотров)
Тип файла: gif tree.gif (2.5 Кб, 182 просмотров)
evgenmil вне форума Ответить с цитированием
Старый 11.03.2009, 17:34   #2
Sm1Le
Форумчанин
 
Аватар для Sm1Le
 
Регистрация: 31.10.2008
Сообщений: 500
По умолчанию

procedure TForm1.LoadTasks;
- не могу уловить ЗАЧЕМ ?! Почему не просто функция ?!

А трасировка зачем ?! - Наведи на какой строке Ошибка ?! ( Возможно из -за того что сначала у тебя Дерево nil?! )
Skype : UASm1Le.

Последний раз редактировалось Sm1Le; 11.03.2009 в 17:37.
Sm1Le вне форума Ответить с цитированием
Старый 11.03.2009, 19:36   #3
evgenmil
Пользователь
 
Регистрация: 29.11.2008
Сообщений: 16
По умолчанию

При написании своей программы, я использовал очень много источников и исходников, которые мне помогали писать программу. Поэтому эту процедуру я "понял" больше всего, а с функциями я просто не очень хорошо знаком, и пока не в силе их использовать в полную силу.
Трассировка??? Всмысле?
И ошибки никакой не происходит, при компиляции программы, просто те итемы в ListView не отображаются с теми параметрами для которых я прописывал в таблицы (это ID_parent(к какому родительскому элементу в TreeView итем относится) и ID_baby(к какому дочернему элементу относится итем ListView)).
Выкладываю exe-вариант проги.
ListView.rar
evgenmil вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Access+TreeView+ListView evgenmil БД в Delphi 4 08.08.2009 00:36
Вывод данных из таблица Access в TreeView evgenmil БД в Delphi 0 08.12.2008 21:28
Связывание бд Access с Дельфи Регишка БД в Delphi 3 18.11.2008 13:47
TreeView и ListView Scorpeon Компоненты Delphi 20 15.11.2007 15:57
Связывание таблиц FoxPro в Access 2002 Nessa Microsoft Office Access 2 04.11.2007 09:54