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

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

Первая строка ДБГрида [D5]


KSergey ©   (2004-03-25 15:06:00) 

Хочется указать первую строку в гриде, начиная с которой начать отображение.
Куда рыть?


Ega23   (2004-03-25 16:11:00) [1]

Что-то было в методах или свойствах грида.
Не, вроде WM_SCROLL посылал...
Дома посмотрю...


KSergey   (2004-03-25 15:43:00) [2]

>  [4] Ega23 ©   (25.03.04 15:30)

Не, задача вовсе не в том, чтобы вернуться на ту же запись...

Вроде придумал как можно еще по другому объяснить проблему:
Стоим в середине грида. Теперь бегаем по RecordSet от начало до конца 5 раз во всех направления (ведь имею право? ;), даже меняю порядок записей. После все восстанавливаю (в том числе и порядок записей!), возвращаюсь на исходную. И хочу, чтобы визуально в гриде все осталось как и было! Т.е. стояла наша тек. запись, положим, 5-й с верху в гриде - так и должно остаться!

Фактически, для этого и надо то "мелочь": как-то сохранить какая запись была в гриде первой (визуально), а после манипуляций с DataSet опять сделать ее первой отображаемой (ту, что и была, а не текущую!)

PS
Это слегка отличается от описанной выше ситуации, там я еще про перемещение говорил, но пусть даже и без него: если "сильно" поперебуробить DataSEt, а потом вернуть его в прежнее состояние - грид все равно "перебуробится" (т.е. первой отображаемой станет какая-то уже другая строка)


Ega23   (2004-03-25 15:31:00) [3]

Если я правильно вопрос понял, конечно    :о)


Ega23   (2004-03-25 15:30:00) [4]

var
SaveLocation : integer;

SaveLocation:=DataSet.FieldByName('Какой-нибудь ID').AsInteger;

DataSet.DisableControls;

... Манипуляции с DataSet;

DataSet.Locate(SaveLocation, 'Какой-нибудь ID', []);

DataSet.EnableControls;


KSergey   (2004-03-25 15:26:00) [5]

Ситуация проста: одна из записей перемещается на 3 выше, например. Для этого у 3-х вышестоящих изменяется значение поля, по которому включена сортировка (ADTDataSet).
Т.е. с точки зрения пользователя запись просто перетащили вверх. порядок как надо, но т.к. с DataSEt производится много манипуляций (перемещение по DataSet) - то все строки в гриде уезжают фиг знает куда (в смысле смещаются визуально).

Вот и хочется как-то "зафиксировать" все это, дабы пользователь не хлопал глазами в поисках как же это так получилось ;) Ведь въехать, что лишь 2 строчка переместилась по получившейся картинке весьма сложно....


Ozone   (2004-03-25 15:18:00) [6]

Сортировка?


Соловьев   (2004-03-25 15:06:00) [7]

зачем это?


Наверх

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