Переход По Записям Дбгрида

novachok

New member
16.08.2012
1
0
#1
Подскажите как при прокрутке роликом в дбгриде выделялась следующая запись где (FieldByName('Num').IsNull) не пустое, если подряд идут Null Null а дальше, например, цифра 10 - то переходило на строку с цифрой 10.
Например есть:
Null
1
2
Null
Null
3
Null
4
5
6
Null
нужно чтобы прокрутка становилась только на цифры при прокрутке роликом или клику по ячейке

Переходы я сделал.
Код:
// если первая запись
if (ModuleBD.ADOZvit.RecNo = 1) then
begin
NoActive := true;
ModuleBD.ADOZvit.Next;
end
else
// если в средине строк и предыдущая не пустая
if (ModuleBD.ADOZvit.RecNo <> ModuleBD.ADOZvit.RecordCount) and
(not NoActive) then
ModuleBD.ADOZvit.Next
// если последняя запись и предыдущая запись не пустая
else if (ModuleBD.ADOZvit.RecNo = ModuleBD.ADOZvit.RecordCount) and
(not NoActive) then
begin
NoActive := false;
ModuleBD.ADOZvit.Prior;
end
// если последняя запись пустая и предыдущая тоже пустая
else if (ModuleBD.ADOZvit.RecNo = ModuleBD.ADOZvit.RecordCount) and
(NoActive) and (not ActiveCount) then
begin //
ModuleBD.ADOZvit.RecNo := ActiveStr;
end
else
begin // переходим на след. строку
NoActive := true;
//ActiveCount := false; // нет активных строк
ModuleBD.ADOZvit.Next;
end;
end

Но возникла проблема когда все значения Null. Тогда зацыклюется цикл. Как проверить что если есть хоть одна запись то перейти к ней, а если нет то ничего не делать!
 

sinkopa

Well-known member
17.06.2009
344
4
#2
Но возникла проблема когда все значения Null. Тогда зацыклюется цикл. Как проверить что если есть хоть одна запись то перейти к ней, а если нет то ничего не делать!
Не вижу цикла никакого...
Вы какое событие обрабатываете то? И какой компонет вообще?
короче... полный код в студию