powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Прокрутка & grid
12 сообщений из 12, страница 1 из 1
Прокрутка & grid
    #32993391
Когда данные в представлении обновляются, полоса прокрутки грида уезжает на самый верх. Можно ли как-нибудь временно отключать обновление грида?
...
Рейтинг: 0 / 0
Прокрутка & grid
    #32993568
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Object. LockScreen [ = lExpr]
...
Рейтинг: 0 / 0
Прокрутка & grid
    #32994556
Это не совсем то. LockScreen просто замораживает окно, а после разморозки все равно грид "Уезжает". Просто выделена запись в середине грида, мне нужно после выполнения Requery(), чтобы она по-прежнему оставалась активной и видна в гриде, но он автоматически уезжает, не показывая эту запись.
...
Рейтинг: 0 / 0
Прокрутка & grid
    #32994576
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон ЗиминЭто не совсем то. 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
Прокрутка & grid
    #32994664
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СА
Примерно так:
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
Прокрутка & grid
    #32994768
Владимир СА
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
Прокрутка & grid
    #32994788
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное я не так тебя понял в предыдущих ответах.
Скорее всего у тебя действительно обе полосы прокрутки имеют место быть. Т.е. Form.Grid.ScrollBars= 3. И при обновлении GRIDа перекидыние происходит в горизонтальной полосе прокрутки? Ибо как писалось в вертикильной сбоя не д.б. т.к. ты встанешь на нужный Id. Это так?
...
Рейтинг: 0 / 0
Прокрутка & grid
    #32995106
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон Зимин
Но дело в том, что вопрос не в том, что номер записи изменяется, а в том, что хоть номер записи и не изменился, но при обновлении полосы прокрутки сбиваются. Я просто хочу заблокировать полосы прокрутки, чтобы они туда-сюда не болтались. Можно ли это? Или, может узнать текущее их состояние, а потом жестко присвоить его по новой...
Смотри в:
Grid.ActiveColumn
Grid.ActiveRow
Grid.ActivateCell(nRow, nCol)
...
Рейтинг: 0 / 0
Прокрутка & grid
    #32995120
Вот грид до обновления:

---------------------------------------------------------------
|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
Прокрутка & grid
    #32995122
В прочем ладно, нечего делать никаких дизайнерских изысков, пусть так все и остается :-)

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

---------------------------------------------------------------
|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
Прокрутка & grid
    #32999236
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Антон!

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

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


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