• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

  • Автор темы Автор темы novachok
  • Дата начала Дата начала
N

novachok

Подскажите как при прокрутке роликом в дбгриде выделялась следующая запись где (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. Тогда зацыклюется цикл. Как проверить что если есть хоть одна запись то перейти к ней, а если нет то ничего не делать!
 
Но возникла проблема когда все значения Null. Тогда зацыклюется цикл. Как проверить что если есть хоть одна запись то перейти к ней, а если нет то ничего не делать!
Не вижу цикла никакого...
Вы какое событие обрабатываете то? И какой компонет вообще?
короче... полный код в студию
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab