Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > ListView


Автор: FreePaul 20.1.2004, 02:58
Здравствуйте. Подскажите, пожалуйста, как мне сделать следующее:
Имеется база данных записей пользователей сети, которые отображаются в DBGrid, а так же при запуске программы строится список всех доступных пользователей сети (выводится в ListView). Как можно отфильтровать в ListView записи так, чтобы те, что уже находятся в базе данных, не отображались.
ListView и DBGrid отображаются на одной форме, которая является своеобразной адресной книгой.

Автор: Fedor 20.1.2004, 03:13
Короткий ответ таков: просто просматривай для каждого претендента в ListView существование в DBGrid

Автор: FreePaul 20.1.2004, 03:21
Пытаюсь:
Код
for I:=1  to Table.RecordCount  do
begin
 try
 ListView1.FindCaption(0, TableAdrName.Value, False, False, False);
 ListView1.DeleteSelected;
 finally
 end;
end;


Не работает...

Автор: Alex 20.1.2004, 08:52
Код
for I:=1  to Table.RecordCount  do
begin
ListView1.ItemIndex := ListView1.Items.IndexOf(ListView1.FindCaption(0, TableAdrName.Value, False, True, True));
ListView1.DeleteSelected;
end;

Автор: FreePaul 20.1.2004, 09:22
for I:=1  to Table.RecordCount  do
begin
Table.RecNo:=I;
ListView1.ItemIndex := ListView1.Items.IndexOf(ListView1.FindCaption(0, TableAdrName.Value, False, True, True));
ListView1.DeleteSelected;
end;

Вот так оно заработало... Ура! Спасибо огромное! biggrin.gif

Автор: Alex 20.1.2004, 10:10
Да не за что

Автор: Medved 20.1.2004, 22:31
ИМХО грамотней вот так:

Код

with Table1 do begin
  first;
  while not Eof do begin
     ListView1.ItemIndex := ListView1.Items.IndexOf(ListView1.FindCaption(0, TableAdrName.Value, False, True,True));
     ListView1.DeleteSelected;      
     next;
  end;
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)