Форум: "Базы";
Текущий архив: 2002.09.05;
Скачать: [xml.tar.bz2];
ВнизDBGrid Найти похожие ветки
← →
dimushkin (2002-08-14 13:23) [0]может кто подскажет как в этом компоненте перемещаться позаписям в таблице с помощью колеса?
← →
Mike Kouzmine (2002-08-14 13:27) [1]Крутить колесо :). Поставь драйвер, если не прокручивает.
← →
dimushkin (2002-08-14 13:31) [2]если бы все было так просто :)
я наверное не правильно выразился
колесо у меня крутится нармально и без драйвера
но указатель на запись не перемещается вместе с ним и соответственно не получается фильтровать по связанные с этой таблицей другие таблицы
← →
LordOfSilence (2002-08-14 13:34) [3]На всякий случай - аналог TDBGrid из комплекта
LMD прокручивает даже без установки родных драйверов.
Да и не только он.
← →
Johnmen (2002-08-14 13:37) [4]>но указатель на запись не перемещается вместе с ним
Так это совершенно нормально...:))))))
← →
3JIA9I CyKA (2002-08-14 13:38) [5]Не советую "крутить" конкретно в DBGrid - галюны гарантированы.
← →
Lusha (2002-08-14 13:47) [6]Смотрите обработчики OnMouseWheelUp, OnMouseWheelDown...
← →
dimushkin (2002-08-14 13:58) [7]OnMouseWheelUp, OnMouseWheelDown ?
а где они?
← →
Lusha (2002-08-14 14:20) [8]>dimushkin © (14.08.02 13:58)
У его (TDBGrid) предков. Причем они protected так, что можно к ним "достучаться" и "попросить" их работать так, как Вам надо...
← →
Alexandr (2002-08-15 08:29) [9]вот в dbgrideh такое есть
← →
Ученик (2002-08-15 09:12) [10]procedure TForm1.GridMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
Handled := True;
Table1.MoveBy(1)
end;
procedure TForm1.GridMouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
Handled := True;
Table1.MoveBy(-1)
end;
type
TProtectedDBGrid = class(TDBGrid);
procedure TForm1.FormCreate(Sender: TObject);
begin
with TProtectedDBGrid(DBGrid1) do begin
OnMouseWheelUp := GridMouseWheelUp;
OnMouseWheelDown := GridMouseWheelDown
end
end;
← →
Lusha (2002-08-15 09:33) [11]>Ученик © (15.08.02 09:12)
Пять с минусом....
Гридов и наборов данных может быть много... А соответствующий обработчик желательно иметь один на всех...
Так что писать лучше...
TDBGrid(DBGrid1).DataSource.DataSet.Prior (ну или Last в зависимости от обработчика)
← →
Ученик (2002-08-15 09:41) [12]>Lusha © (15.08.02 09:33)
Ну тогда уж
if Sender is TDBGrid then
TDBGrid(Sender).DataSource.DataSet.MoveBy(...) :)))
← →
Lusha (2002-08-15 09:56) [13]>Ученик © (15.08.02 09:41)
А вот это совсем не обязательно... Какому компоненту (помимо TDBGrid) Вы собираетесь назначить этот обработчик? :)
P.S. Никогда не стоит выходить за пределы здравого смысла... Тем более когда занимаешься программированием...
← →
Ученик (2002-08-15 09:58) [14]>Lusha © (15.08.02 09:56)
procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
end;
with TProtectedDBGrid(DBGrid1) do begin
OnMouseWheelUp := FormMouseWheelUp;
OnMouseWheelDown := FormMouseWheelDown
end
← →
Lusha (2002-08-15 10:04) [15]А что если крутить на форме, тоже прокатывает? Если да, то это кривизна VCL...
← →
Lusha (2002-08-15 10:17) [16]Беру свои слова обратно... Это не кривизна VCL... Это я тормоз... :)
А еще можно вот так...
...
Handled := True;
with ScreenToClient(MousePos), TDBGrid(Sender) do
if (x < Left) or (x > Left + Width) or (y < Top) or (y > Top + Height) then Exit;
TMyDBGrid(Sender).DataSource.DataSet.Prior;
...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.09.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c