:: Архив конференции по VFP до 2005 года
Активная ячейка в ГРИДе. Восстановление положения
qws
Автор

Сообщений: 49
Откуда: Kryukov-na-Dnepr
Дата регистрации: 08.02.2005
GRID отображает 1000 записей таблицы, текущая - 900-я. Ячейка активная - 4-я сверху,3-я справа, горизонтального скроллинга нет. Запоминаю ControlSource для колонок и опустошаю RowSource GRIDa, обновляю таблицу, восстанавливаю положение указателя, ControlSource для колонок и RowSource GRIDa. Как сделать, чтобы прежняя активная ячейка Грида так и осталась на своем месте и опять стала активной, потому что если ничего не делать дополнительно, то фокус переходит на первый столбец, и строка также не на своем старом месте в GRIDe.
Ratings: 0 negative/0 positive
Re: Активная ячейка в ГРИДе. Восстановление положения
Grin

Сообщений: 1083
Откуда: Kiev
Дата регистрации: 05.12.2000
А ты не пакуй таблицы и ненужно будет ниче опустошать
пользуй set deleted on

здесь на сайте есть очень неплохие статьии в разделе база знаний
помотри их оч рекомендую
Ratings: 0 negative/0 positive
Re: Активная ячейка в ГРИДе. Восстановление положения
qws
Автор

Сообщений: 49
Откуда: Kryukov-na-Dnepr
Дата регистрации: 08.02.2005
Извини, опустошаю здесь значит =""
Ratings: 0 negative/0 positive
Re: Активная ячейка в ГРИДе. Восстановление положения
АлександрК

Сообщений: 308
Откуда: г.Шебекино Белго
Дата регистрации: 17.09.2002
Запоминай перед опустошением грида текущую строку и колонку.
Что-то типа:

LOCAL lcCurRecord, lnCurColumn
lcCurRecord = Table1.Record1 && Строка в таблице
lnCurColumn = This.Grid1.ActiveColumn && Колонка в гриде
This.Grid1.RecordSource = ""
..... && Обновление таблицы
This.Grid1.RecordSource = .....
This.Grid1.Column1.ControlSource = ....
.. и т.д.
* Возврат на запись
SELECT Table1
LOCATE FOR Record1 = lcCurRecord
IF ! FOUND()
GO TOP
ENDIF
* Активная колонка
This.Grid1.ActiveColumn = lnCurColumn
Ratings: 0 negative/0 positive
Re: Активная ячейка в ГРИДе. Восстановление положения
Grin

Сообщений: 1083
Откуда: Kiev
Дата регистрации: 05.12.2000
>Извини, опустошаю здесь значит =""

так а зачем ты это делаеш? повсей вероятности ты пытаешся удалять данные из таблицы?
если так то я тебе и советую не пользоваться командой PACK
и почитать о команде SET TELETED ON
необязательно твои данные удалять из таблицы физически
в крайнем случаи можеш паковать таблицу например при закрытии окна если уж так силно нужно

или я неправильно понял вопрос?
Ratings: 0 negative/0 positive
Re: Активная ячейка в ГРИДе. Восстановление положения
Pliskin

Сообщений: 2959
Откуда: Новосибирск
Дата регистрации: 19.11.2003
посмотри такие свойства Grid, как ActiveRow, ActiveCol и RelativeRow, RelativeCol
Ratings: 0 negative/0 positive
Re: Активная ячейка в ГРИДе. Восстановление положения
qws
Автор

Сообщений: 49
Откуда: Kryukov-na-Dnepr
Дата регистрации: 08.02.2005
АлександрК правильно понял. Брат-тезка, я так и делаю, кроме последнего, т.к. и ActiveColumn, и ActiveRow, ActiveCol и RelativeRow, RelativeCol - все только для чтения, значит, не могут быть слева от знака равенства. Но вот еще о задаче. Отображаются данные, а через каждые полминуты по таймеру инфа обновляется, но надо не испугать зрителя, а активную строчку держать в том же месте, как и акт.ячейку, чтобы не было прыжков активных объектов.
Ratings: 0 negative/0 positive
Re: Активная ячейка в ГРИДе. Восстановление положения
Combat

Сообщений: 816
Откуда: Клайпеда
Дата регистрации: 26.10.2000
Цитата:
Activates a cell in a Grid control.
Grid.ActivateCell(nRow, nCol)




------------------
Ratings: 0 negative/0 positive
Re: Активная ячейка в ГРИДе. Восстановление положения
qws
Автор

Сообщений: 49
Откуда: Kryukov-na-Dnepr
Дата регистрации: 08.02.2005
Разве это что-то особенное - держать активную ячейку на постоянном месте в Гриде при пассивности данного клиента, но когда автоматически происходит обновление Грида возможно измененными кем-то другим данными? При использовании grdX.ActivateCell(nRow,nCol) наша активная ячейка переходит на другое место в Гриде. Мне нужно, чтобы как бы можно было использовать RelativeRow: задал RelativeRow=4 в таймере, и активная строка - вот она, как и хочу, 4-я сверху в Гриде. Как такое сделать?
Ratings: 0 negative/0 positive
Re: Активная ячейка в ГРИДе. Восстановление положения
qws
Автор

Сообщений: 49
Откуда: Kryukov-na-Dnepr
Дата регистрации: 08.02.2005
Хорошо, сформулирую по-другому, жаль, что сразу так не сообразил.
Как 900-ю запись из 1000 отобразить, чтобы она заняла 4-ю строку Грида сверху?

Или хотя бы скажите:
1) что ты нас по пустякам беспокоишь;
2) задача достаточно сложная, долго объяснять.

Как соловушка - лета, жду приемлемого ответа!
Ratings: 0 negative/0 positive


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 13 (Гостей: 13)

© 2000-2024 Fox Club 
Яндекс.Метрика