Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Прокрутка & grid / 12 сообщений из 12, страница 1 из 1
01.04.2005, 14:16
    #32993391
Прокрутка & grid
Когда данные в представлении обновляются, полоса прокрутки грида уезжает на самый верх. Можно ли как-нибудь временно отключать обновление грида?
...
Рейтинг: 0 / 0
01.04.2005, 14:53
    #32993568
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прокрутка & grid
Object. LockScreen [ = lExpr]
...
Рейтинг: 0 / 0
02.04.2005, 08:32
    #32994556
Прокрутка & grid
Это не совсем то. LockScreen просто замораживает окно, а после разморозки все равно грид "Уезжает". Просто выделена запись в середине грида, мне нужно после выполнения Requery(), чтобы она по-прежнему оставалась активной и видна в гриде, но он автоматически уезжает, не показывая эту запись.
...
Рейтинг: 0 / 0
02.04.2005, 10:08
    #32994576
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прокрутка & grid
Антон ЗиминЭто не совсем то. LockScreen просто замораживает окно, а после разморозки все равно грид "Уезжает". Просто выделена запись в середине грида, мне нужно после выполнения Requery(), чтобы она по-прежнему оставалась активной и видна в гриде, но он автоматически уезжает, не показывая эту запись.
Примерно так:
LOCAL m.n_recno
m.n_recno = RECNO('My_localview')
=REQUERY('My_localview')
GO m.n_recno IN My_localview
THISFORM.Grid.Refresh()
THISFORM.Grid.SetFocus()
...
Рейтинг: 0 / 0
02.04.2005, 14:02
    #32994664
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прокрутка & grid
Владимир СА
Примерно так:
LOCAL m.n_recno
m.n_recno = RECNO('My_localview')
=REQUERY('My_localview')
GO m.n_recno IN My_localview
THISFORM.Grid.Refresh()
THISFORM.Grid.SetFocus()
Не так надо было.
У тебя д.б. Id уникальности записи в таблице.
Примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
LOCAL m.n_id
m.n_id = My_localview.Id
=REQUERY('My_localview')
SELECT My_localview
LOCATE FOR My_localview.Id = m.n_id
IF NOT FOUND()  && Вдруг кто-то удалил эту запись
  GO TOP
ENDIF
THISFORM.Grid.Refresh()
IF FOUND('My_localview')
  THISFORM.Grid.SetFocus()
ENDIF
Вот так правильнее.
...
Рейтинг: 0 / 0
02.04.2005, 17:30
    #32994768
Прокрутка & grid
Владимир СА
LOCAL m.n_recno
m.n_recno = RECNO('My_localview')
=REQUERY('My_localview')
GO m.n_recno IN My_localview

Подобный код у меня уже был.

Владимир СА
LOCATE FOR My_localview.Id = m.n_id
IF NOT FOUND() && Вдруг кто-то удалил эту запись
GO TOP
ENDIF
THISFORM.Grid.Refresh()
IF FOUND('My_localview')
THISFORM.Grid.SetFocus()
ENDIF[/src]Вот так правильнее.

А за это спасибо.

Но дело в том, что вопрос не в том, что номер записи изменяется, а в том, что хоть номер записи и не изменился, но при обновлении полосы прокрутки сбиваются. Я просто хочу заблокировать полосы прокрутки, чтобы они туда-сюда не болтались. Можно ли это? Или, может узнать текущее их состояние, а потом жестко присвоить его по новой...
...
Рейтинг: 0 / 0
02.04.2005, 18:00
    #32994788
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прокрутка & grid
Наверное я не так тебя понял в предыдущих ответах.
Скорее всего у тебя действительно обе полосы прокрутки имеют место быть. Т.е. Form.Grid.ScrollBars= 3. И при обновлении GRIDа перекидыние происходит в горизонтальной полосе прокрутки? Ибо как писалось в вертикильной сбоя не д.б. т.к. ты встанешь на нужный Id. Это так?
...
Рейтинг: 0 / 0
03.04.2005, 12:42
    #32995106
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прокрутка & grid
Антон Зимин
Но дело в том, что вопрос не в том, что номер записи изменяется, а в том, что хоть номер записи и не изменился, но при обновлении полосы прокрутки сбиваются. Я просто хочу заблокировать полосы прокрутки, чтобы они туда-сюда не болтались. Можно ли это? Или, может узнать текущее их состояние, а потом жестко присвоить его по новой...
Смотри в:
Grid.ActiveColumn
Grid.ActiveRow
Grid.ActivateCell(nRow, nCol)
...
Рейтинг: 0 / 0
03.04.2005, 13:08
    #32995120
Прокрутка & grid
Вот грид до обновления:

---------------------------------------------------------------
|1-1|1-2|1-3|1-4|1-5|1-6|1-7|1-8|1-9|1-10|
---------------------------------------------------------------
|2-1|2-2|2-3|2-4|2-5|2-6|2-7|2-8|2-9|2-30|
---------------------------------------------------------------
|3-1|3-2|3-3|3-4|3-5|3-6|3-7|3-8|3-9|3-30|
---------------------------------------------------------------
|4-1|4-2|4-3|4-4|4-5|4-6|4-7|4-8|4-9|4-10|
---------------------------------------------------------------
|5-1|5-2|5-3|5-4|5-5|5-6|5-7|5-8|5-9|5-10|
---------------------------------------------------------------

Красным обозначена выделенная ячейка, синим-область, видимая в гриде после использования скролбаров.

Вот грид после обновления:

---------------------------------------------------------------
|1-1|1-2|1-3|1-4|1-5|1-6|1-7|1-8|1-9|1-10|
---------------------------------------------------------------
|2-1|2-2|2-3|2-4|2-5|2-6|2-7|2-8|2-9|2-30|
---------------------------------------------------------------
|3-1|3-2|3-3|3-4|3-5|3-6|3-7|3-8|3-9|3-30|
---------------------------------------------------------------
|4-1|4-2|4-3|4-4|4-5|4-6|4-7|4-8|4-9|4-10|
---------------------------------------------------------------
|5-1|5-2|5-3|5-4|5-5|5-6|5-7|5-8|5-9|5-10|
---------------------------------------------------------------

То есть фокс, чтобы показать выделенную ячейку, сам перемещает скролбары, а я этого не хочу.
...
Рейтинг: 0 / 0
03.04.2005, 13:12
    #32995122
Прокрутка & grid
В прочем ладно, нечего делать никаких дизайнерских изысков, пусть так все и остается :-)

2 Владимир СА:
Спасибо за помощь.
...
Рейтинг: 0 / 0
04.04.2005, 06:36
    #32995484
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прокрутка & grid
Антон ЗиминВот грид до обновления:

---------------------------------------------------------------
|1-1|1-2|1-3|1-4|1-5|1-6|1-7|1-8|1-9|1-10|
---------------------------------------------------------------
|2-1|2-2|2-3|2-4|2-5|2-6|2-7|2-8|2-9|2-30|
---------------------------------------------------------------
|3-1|3-2|3-3|3-4|3-5|3-6|3-7|3-8|3-9|3-30|
---------------------------------------------------------------
|4-1|4-2|4-3|4-4|4-5|4-6|4-7|4-8|4-9|4-10|
---------------------------------------------------------------
|5-1|5-2|5-3|5-4|5-5|5-6|5-7|5-8|5-9|5-10|
---------------------------------------------------------------

Красным обозначена выделенная ячейка, синим-область, видимая в гриде после использования скролбаров.

Вот грид после обновления:

---------------------------------------------------------------
|1-1|1-2|1-3|1-4|1-5|1-6|1-7|1-8|1-9|1-10|
---------------------------------------------------------------
|2-1|2-2|2-3|2-4|2-5|2-6|2-7|2-8|2-9|2-30|
---------------------------------------------------------------
|3-1|3-2|3-3|3-4|3-5|3-6|3-7|3-8|3-9|3-30|
---------------------------------------------------------------
|4-1|4-2|4-3|4-4|4-5|4-6|4-7|4-8|4-9|4-10|
---------------------------------------------------------------
|5-1|5-2|5-3|5-4|5-5|5-6|5-7|5-8|5-9|5-10|
---------------------------------------------------------------

То есть фокс, чтобы показать выделенную ячейку, сам перемещает скролбары, а я этого не хочу.
По-моему Fox правильно делает, что опять возвращает тебя на выделенную ячейку. Надо было встать сначало на ячейку 3-5, а потом уже команда REQUERY().
...
Рейтинг: 0 / 0
06.04.2005, 01:15
    #32999236
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прокрутка & grid
Hi Антон!

DoScroll() тебя спасёт, если ты сможешь разобраться как это так нужно крутить грид, чтобы добиться нужного визуального эффекта.
P.S. Если активная ячейка находится ВНЕ области видимости грида, то ActiveColumn/Row тебе увы не помогут... А вотGrid.HitTest возможно чего-нить и даст...

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Прокрутка & grid / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]