Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Можно ли замкнуть дбгрид [D7, 2000, XP]


Kyro ©   (2007-07-19 19:29:00) 

Подскажите можно ли сделать так что бы после последней записи в дбгриде при его пролистывании начиналась первая и наоборот если листать записи в начало что бы после первой начиналась последняя ?


iXT   (2007-07-20 13:20:00) [1]

> [8] Kyro   (20.07.07 13:12)

Рисуешь свой Grid, и анализируешь что и как должно отображаться и на всякие события соответствующие действия :) Ну и отрисовываешь лишь ту часть которую надо. А вообще бред задумал.

> а нужно так что бы ...

Докажи!


Kyro   (2007-07-20 13:12:00) [2]


> Loginov Dmitry ©   (20.07.07 12:34) [6]
> Возьми да измени его так, чтоб работал.


В том то и дело мне не нужно что бы после последней записи перескакивало на первую , а нужно так что бы плавно закончились записи в таблице и снова она началась.
Как записная книжка в телефоне ! Пролистываеш вверх попадеш к последним записям , пролистываеш вниз наоборот !

А в этом примере я как понял если уперся скрол в последнюю запись то перескачить на ночало , так к сожалению не подходит мне !


ЮЮ   (2007-07-20 13:05:00) [3]

> Надо как то по другому !

Может здесь и кроется сермяжная правда?
Зачем тебе вооюще потребовалась эта "бексконечность"? "В начало"/"В конец" не применишь, за ползунок не прокрутишь.


Loginov Dmitry   (2007-07-20 12:34:00) [4]

Возьми да измени его так, чтоб работал.


Kyro   (2007-07-20 12:32:00) [5]

Нет такой вариант не работает :( Надо как то по другому !


Loginov Dmitry   (2007-07-20 11:48:00) [6]

вот пример. Не проверял, но зациклиться не должен:

procedure TDBForm.DataSetAfter[Before]Scroll(Sender: TDataSet);
var
 DSEvnt: TDataSetEvent;
begin
 DSEvnt := Sender.AfterScroll;
 Sender.After[Before]Scroll := nil;
 try
   Sender.First[Last];
 finally
   Sender.After[Before]Scroll := DSEvnt;
 end;
end;


Kyro   (2007-07-20 11:34:00) [7]


> Loginov Dmitry ©   (19.07.07 19:48) [1]
> TDataSet.First
> TDataSet.Last
>
> делай по OnAfter[Before]Scroll. Главное тут не зациклиться
> :)


А как лучше сделать что бы не зацыклится у меня все время переполнение стека !
Что мне проверять что бы этого избежать ?


MsGuns   (2007-07-19 20:37:00) [8]

Да черт с ним, с гридом, - где б такую банковскую карточку найти ;)


Loginov Dmitry   (2007-07-19 19:48:00) [9]

TDataSet.First
TDataSet.Last

делай по OnAfter[Before]Scroll. Главное тут не зациклиться :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо