-
> MsGuns © (21.07.08 15:13) [17]
>
> >Плохиш © (20.07.08 23:32) [16]
> >Если я всё правильно понял, то на
> >type
> TMyDBGrid = class(TrxDBGrid)
>
> Замечательный совет ;)
>
> ЗЫ Вот зачем давать заведомо неработающий код ?
>
А в Д7 без TRxDBGrid и работать не стОит. Нормальный скролл в TDBGrid Борланд реализовал только в Д2005, если Джо не соврал. Я лично, его (нормальный скролл в TDBGrid) увидел только в BDS2006.
-
а если спозиционировать на 50й записи и послать 5раз нажатие клавиши курсор_вниз?
-
>Германн © (22.07.08 01:17) [20]
>А в Д7 без TRxDBGrid и работать не стОит. Нормальный скролл в TDBGrid Борланд реализовал только в Д2005
Глупости.
Мне не "впадлу" (ИШ) написать 5 строчек кода (копи-пасте) в юните с гридами. Тащить же монстра RX ради скрола - все равно что не садиться за стол без жареного быка и ванны водки
-
На наркотик сядет, потом постоянно будет по форумам бегать, дайте RX для ДельфиXXXX
-
Вообще-то в D7 TRxDBGrid скролится точно также как и нормальный...
-
уж если менять grid то на devexpress ExpressQuantumGrid и более не мучится
-
> dolmat (22.07.08 13:39) [25]
> уж если менять grid то на devexpress ExpressQuantumGrid
> и более не мучится
Вот так, по смешному чиху, увеличить ехешник на восемь метров...
-
> уж если менять grid то на devexpress ExpressQuantumGrid
> и более не мучится
Самолет продается только в комплекте с авианосцем
-
Удалено модератором
-
Большое спасибо всем, особенно Плохишу.
Не все понял, но в азах разобрался. Последовал совету, не использовать доп.компонентов. Сделал так:
type tMyGrid=class(TCustomDbGrid);
procedure TfzvkJourn.RefreshData;
var idfD:integer;
OldActiveRecord:integer;
Begin
idfD:=quZvkIdfD.AsInteger;
OldActiveRecord:=tMyGrid(dbg).DataLink.ActiveRecord;
ta.Commit;
quZvk.Open;
quZvk.Locate('idfD',variant(idfD),[loPartialKey]);
quZvk.MoveBy(tMyGrid(dbg).RowCount-OldActiveRecord-2);
quZvk.MoveBy(-(tMyGrid(dbg).RowCount-OldActiveRecord-2));
End;
работает так, как я хотел. Мерцание есть, но с ним пока мирюсь.
интересно послушать критику
-
> Евгений Р. (24.07.08 02:11) [29]
> type tMyGrid=class(TCustomDbGrid);
Настойчиво советую убрать выделенное, т.к. нужен наследник TDBGrid-a, а не его брат :-)
PS. И куда делись BeginUpdate/EndUpdate?
-
> Плохиш © (24.07.08 11:21) [30]
TDBGrid - согласен, но не понимаю. Для доступа к Row работало даже при tCustomGrid.
BeginUpdate/EndUpdate - часто встречаю, но не понимаю их назначения. Если возможно - киньте где почитать. Но, к статьи и без них все работает.
-
> TDBGrid - согласен, но не понимаю. Для доступа к Row работало
> даже при tCustomGrid.
Для доступа к protected-свойствам необходимо создавать класс-наследник от класса, к свойствам которого мы хотим получить доступ. В данном случае тебе просто повезло :-)
> BeginUpdate/EndUpdate - часто встречаю, но не понимаю их
> назначения. Если возможно - киньте где почитать.
В справке, например.
-
Снимаю свое замечание в [17]
Иногда такое действует ;)
-
MsGuns © (24.07.08 20:55) [33]
Снимаю свое замечание в [17]
Иногда такое действует ;)
Почему "иногда". Это один из "стандартных" обходных маневров для получения доступа к protected членам класса. :)
-
> MsGuns © (24.07.08 20:55) [33]
>
> Снимаю свое замечание в [17]
> Иногда такое действует ;)
> isasa © (25.07.08 00:13) [34]
Аааа. Так вот что ты имел ввиду. Тут isasa © прав. .
ЮЗ для такого маневра даже изобрел имя THackxxxx. :)
И этот манёвр староизвестен ещё с Д1.
-
Под "иногда" я имел в виду не технологию, а сам совет, которым надо пользоваться ВДУМЧИВО.
В данном случае, ИМХО, именно так и произошло ;)