![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Здравствуйте.
Проблема такая: есть ряд кнопок и четыре из них хочу сделать как в 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
|
||||
|
||||
|
Цитата:
![]() |