Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 "Перемещение" Грида по таблице  [new]
UAP
Member

Откуда:
Сообщений: 493
Уважаемые коллеги!

Подскажите пожалуйста ответ на такой вопрос.

Предположим есть некоторая таблица с большим количеством полей и записей.
Количество полей так велико, что в соответствующем Гриде таблица не помещается и возникает необходимость в горизонтальной прокрутке.
Количество записей так велико, что в соответствующем Гриде таблица не помещается и возникает необходимость в вертикальной прокрутке.

Понятно, что при запуске формы, в левой верхней ячейке Грида отображается значение первого поля из первой строки (1,1) и т.д.

После того, как Пользователь поработал, в левой верхней ячейке Грида отображается значение с координатами (n,m)

Затем Пользователь закрывает Форму с Гридом.

Вопрос.
Как ЗАПОМНИТЬ и ВОСПОЛЬЗОВАТЬСЯ парой (n,m), чтобы зная ее, при Ините либо Активейте вернуть Грид в "последнее" состояние?

Со строкой я, вообще говоря, знаю.
Со столбцом пока нет.
21 июн 10, 14:09    [8973338]     Ответить | Цитировать Сообщить модератору
 Re: "Перемещение" Грида по таблице  [new]
GermanGM
Member

Откуда:
Сообщений: 256
UAP,

в Init формы
this.grid1.activateCell(1,<НомерКолонки>)
if betw(<НомерЗаписи>,1,recc(this.grid1.recordSource))
 go <НомерЗаписи> in this.grid1.recordSource
endif
21 июн 10, 14:23    [8973463]     Ответить | Цитировать Сообщить модератору
 Re: "Перемещение" Грида по таблице  [new]
UAP
Member

Откуда:
Сообщений: 493
Уважаемый GermanGM !

Спасибо за ответ!
Сейчас проверю ...
21 июн 10, 14:30    [8973531]     Ответить | Цитировать Сообщить модератору
 Re: "Перемещение" Грида по таблице  [new]
igorbik
Member

Откуда: Мск
Сообщений: 578
UAP,
Grid.Activecolumn тебе в помощь
21 июн 10, 14:31    [8973558]     Ответить | Цитировать Сообщить модератору
 Re: "Перемещение" Грида по таблице  [new]
UAP
Member

Откуда:
Сообщений: 493
GermanGM !

Строка действительно становится активной.

Но акивная ячейка находится за пределами Грида.

Хотелось бы ее вытащить "на свет"
21 июн 10, 15:15    [8974005]     Ответить | Цитировать Сообщить модератору
 Re: "Перемещение" Грида по таблице  [new]
UAP
Member

Откуда:
Сообщений: 493
igorbik,

Указанное Вами свойство - только для чтения.
21 июн 10, 15:16    [8974024]     Ответить | Цитировать Сообщить модератору
 Re: "Перемещение" Грида по таблице  [new]
GermanGM
Member

Откуда:
Сообщений: 256
UAP,

св-во AllowCellSelection .f.?
21 июн 10, 15:57    [8974438]     Ответить | Цитировать Сообщить модератору
 Re: "Перемещение" Грида по таблице  [new]
UAP
Member

Откуда:
Сообщений: 493
Уважаемые коллеги!

Нашел решение!
Вот, где собака порылась!

****** ThisForm.Pageframe1.page4.grid1.Column14.SetFocus ******

Каждому должно быть понятно, что 14 взято с потолка ...
22 июн 10, 12:52    [8979120]     Ответить | Цитировать Сообщить модератору
 Re: "Перемещение" Грида по таблице  [new]
igorbik
Member

Откуда: Мск
Сообщений: 578
UAP
Уважаемые коллеги!

Нашел решение!
Вот, где собака порылась!

****** ThisForm.Pageframe1.page4.grid1.Column14.SetFocus ******

Каждому должно быть понятно, что 14 взято с потолка ...
Действительно, с потолка.
А как определить, что фокус был на (14) колонке когда мы закрыли грид ?
22 июн 10, 14:57    [8980384]     Ответить | Цитировать Сообщить модератору
 Re: "Перемещение" Грида по таблице  [new]
Dag
Member

Откуда:
Сообщений: 842
Добавить форме новое св-во - nNumColumn
В метод грида AfterRowColChange

ThisForm.nNumColumn = This.ActiveColumn

В методе Destroy формы извлекаешь нужное число из св-ва This.nNumColumn
22 июн 10, 21:21    [8983339]     Ответить | Цитировать Сообщить модератору
 Re: "Перемещение" Грида по таблице  [new]
Eugenkru10
Guest
Dag,

SetFocus собственно и напрашивался - стандарное решение почти для всех случаев жизни.
Хочу лишь добавить, что лучше ставить проверку не в Destroy, а в QueryUnload !
Это так, хороший совет на будущее... ;)

MfG,
Eugenkru.
22 июн 10, 22:41    [8983634]     Ответить | Цитировать Сообщить модератору
 Re: "Перемещение" Грида по таблице  [new]
igorbik
Member

Откуда: Мск
Сообщений: 578
Dag
Добавить форме новое св-во - nNumColumn
В метод грида AfterRowColChange

ThisForm.nNumColumn = This.ActiveColumn

В методе Destroy формы извлекаешь нужное число из св-ва This.nNumColumn
Ага, все-таки выходим на ActiveColumn, который автор топика забраковал.
23 июн 10, 10:41    [8985093]     Ответить | Цитировать Сообщить модератору
 Re: "Перемещение" Грида по таблице  [new]
Dag
Member

Откуда:
Сообщений: 842
igorbik
Ага, все-таки выходим на ActiveColumn, который автор топика забраковал.

Извиняюсь, сам топик не читал, попросту ответил на последнее сообщение, не вникая в детали.
23 июн 10, 11:30    [8985637]     Ответить | Цитировать Сообщить модератору
 Re: "Перемещение" Грида по таблице  [new]
igorbik
Member

Откуда: Мск
Сообщений: 578
Dag, претензий нет.
Просто г-н UAP не хочет прочитать то свойство, которое именно для чтения и предназначено.
Его нужно прочесть и запомнить в глобальных переменных или в свойствах самой формы перед закрытием формы. А потом использовать в команде grid.columnN.setfocus при ее открытии.
Кстати, если нужно попасть в то же место на гриде после выключения-включения самой программы, то инфо о номере строки и колонки нужно записывать в спецтаблицу, откуда потом и читать.
23 июн 10, 13:18    [8986887]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить