![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Позиционирование в ДБГриде
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);