Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.16;
Скачать: CL | DM;

Вниз

Перебор строк в таблице   Найти похожие ветки 

 
TDM ©   (2002-04-21 16:32) [0]

Добрый день. Не могу сделать перебор всех строк таблицы (Table) по какому нибудь определенному столбцу. Например в таблице 50 строчек и 5 столбцов, как мне получить список всех строчек первого столбца ??? Так как таблица сразу же отображается в DBGrid, то использования Table.Next или Table.RecNo приходится избегать - иначе получается прямо на экране прокрутка всей таблицы.

Не знаю что делать, помогите кто может.
Заранее спасибо.


 
Anatoly Podgoretsky ©   (2002-04-21 16:50) [1]

Ну если ты не хочешь использовать Table.Next или Table.RecNo то никак


 
TDM ©   (2002-04-21 17:43) [2]

А можно как нибудь без прокрутки таблицы обойтись ??? Например отключить ее, перебрать записи а потом вернуть курсор в начальную позицию ???


 
Anatoly Podgoretsky ©   (2002-04-21 17:49) [3]

Можно отключить, а можно дополнительный набор данных иметь, по вкусу. Все зависит от того зачем нужно перебирать и что с перебором делать.


 
777 ©   (2002-04-21 18:48) [4]

Если просто возвращаться в исходное положение, то
можно таблицу проиндексировать, а после
перебора найти по индексам нужное значение.
Или использовать TTable.Lookup


 
777 ©   (2002-04-21 18:57) [5]

Извините, погорячился с Lookup :)
(TDM © требуется ведь только
получить список ВСЕХ значений?)


 
TDM ©   (2002-04-21 19:37) [6]

да, просто список.... Самое интересное что в свойстве Table есть счетчик строчек (записей) RecordCount, но явно указать на какую то определенную строку почему то нельзя. Придется придумывать что нибудь...... Спасибо всем за помощь.


 
kaif ©   (2002-04-21 20:46) [7]

Чтобы Grid при перекрутке не отображало процесс, проще всего сделать так:

var
N: integer;

with Table do
begin
DisableControls
try
N := RecNo; //запоминаем номер строки в наборе
здесь прокрутка, например,
while (что-то) and not Eof do
Next;
потом возврат на исходную запись Table.RecNo := N
finally
EnableControls;
end;
end;


 
777 ©   (2002-04-22 00:48) [8]

А индексы всё равно пригодятся.
по моему это реальный выход.



Страницы: 1 вся ветка

Текущий архив: 2002.05.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
14-50124
Song
2002-04-08 08:51
2002.05.16
Вирус тут пришёл... Даже не знаю чего и делать-то :)))


4-50165
ebeden
2002-03-15 03:12
2002.05.16
Internet Explorer


1-49987
Sirus
2002-04-30 09:53
2002.05.16
Как вычислить количество дней с определенной даты до согедня???


1-49948
ymin
2002-04-30 16:11
2002.05.16
Запустил программу...


4-50177
Win32
2002-03-12 21:59
2002.05.16
Функции в USER.EXE, RUNDLL32.EXE, RUNONCE.DLL, SHELL32.DLL и подобные.......