|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Перемещение указателя в DBGrid
Здравствуйте.
Проблема такая: есть ряд кнопок и четыре из них хочу сделать как в DBNavigator, т.е переход в начало списка (ToolToBegin), на предыдущую запись (ToolToBack), на слудующую (ToolToForward) и в конец списка (ToolToEnd). Вот обработчик кнопки "переход на следующую запись": Код:
procedure TForm1.ToolToForwardClick(Sender: TObject); begin if DataModule2.ADOQuery1.Eof then begin Form1.ToolToForward.Enabled:=false; Form1.ToolToEnd.Enabled:=false; end else begin DataModule2.ADOQuery1.Next; if not DataModule2.ADOQuery1.Bof then begin Form1.ToolToBack.Enabled:=true; Form1.ToolToBegin.Enabled:=true; end; end; end; Последний раз редактировалось seelenus, 20.11.2012 в 09:55. |
#2
|
||||
|
||||
Может есть какой-то получше способ проверить стоит указатель в конце или в начале?
|
#3
|
||||
|
||||
в справке написано про это:
Цитата:
Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
seelenus (20.11.2012)
|
#4
|
||||
|
||||
Здесь оказывается еще один момент есть: в таблице access есть последняя пустая строка. Я на нее сначала не обращал внимания, но потом в DBGrid, когда перемещаешь указатель с помощью клавиатуры от последней строчки вниз, то появляется пустая строка. А когда указатель перемещаешь вверх, то строка исчезает.[IMG]c:\imag.png[/IMG]
Подскажите, как избавиться от этой строки. |
#5
|
||||
|
||||
просто при нажатии стрелки вниз на последней строке автоматически происходит добавление новой записи Dataset.Append:
Код:
procedure TCustomDBGrid.KeyDown(var Key: Word; Shift: TShiftState); ... procedure NextRow(Select: Boolean); begin with FDatalink.Dataset do begin if (State = dsInsert) and not Modified and not FDatalink.FModified then if FDataLink.EOF then Exit else Cancel else DoSelection(Select, 1); if FDataLink.EOF and CanModify and (not ReadOnly) and (dgEditing in Options) then Append; end; end; ... case Key of VK_UP: PriorRow(True); VK_DOWN: NextRow(True); Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
seelenus (20.11.2012)
|
#6
|
||||
|
||||
Цитата:
|
#7
|
||||
|
||||
Цитата:
блин, не могу сделать, чтобы при установке указателя на последнюю строку кнопки отключались, т.е. чтобы реакция была сразу же. Не прдскажете как сделать проверку на последнюю и первую строки? |
#8
|
||||
|
||||
Цитата:
Последний раз редактировалось poli-smen, 20.11.2012 в 12:08. |
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
seelenus (20.11.2012)
|
#9
|
||||
|
||||
ну, блин, че бы я без вас делал?м
|
#10
|
||||
|
||||
Цитата:
|