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

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

Позиционирование в ДБГриде


Frozzen ©   (2004-11-25 13:42:00) 

Господа
ситуация такая
Допустим курсор стоит посередине списка строк в ДБГриде
Я запоминаю его позицию, открываю новую форму, произвожу какие-то действия, когда возвращась, то обновляю ДБГрид и вот так
rxDBGrid.DataSource.DataSet.Locate('id', CurPos, []);
устанавливаю курсор в нужную позицию, Вот только проблема:
Курсор позиционируется внизу ДБГрида.
Дайте совет как позиционировать его посередине?


Frozzen   (2004-11-25 18:00:00) [1]

Спасибо


KSergey   (2004-11-25 15:10:00) [2]

> [2] Skyle ©   (25.11.04 14:33)

Тогда бы я тут "наворотил"

var
BM : TBookMark;
begin
  YourDataSet.DisableControls;
  try
    BM := YourDataSet.GetBookmark;
    try
      //Тут чего-то делается с изменением положения
    finally
      YourDataSet.GotoBookmark(BM);
    end;
  finally
    YourDataSet.EnableControls;
  end;
end;


Skyle   (2004-11-25 14:33:00) [3]

var
 BM : TBookMark;
begin
 BM := YourDataSet.GetBookmark;
 //Тут чего-то делается с изменением положения
 YourDataSet.GotoBookmark(BM);
end;


Этот код старается ставить запись по Bookmark точно в центр грида.


Frozzen   (2004-11-25 13:53:00) [4]

Ничего умнее не прищло в голову, чем

rxDBGrid.DataSource.DataSet.Locate('id', CurPos, []);
rxDBGrid.DataSource.DataSet.MoveBy(5);
rxDBGrid.DataSource.DataSet.MoveBy(-5);


Наверх

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