Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обработка изменений в гриде / 5 сообщений из 5, страница 1 из 1
16.03.2004, 08:14
    #32442774
Соня_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка изменений в гриде
Доброе утро!
Как мне сделать обработку изменений значения ячейки в гриде? (Грид не read only). Т.е. если изменялось какое-то значение, то до выхода из этой ячейки чтобы производились определенные действия.
Я уже перепробывала всевозможные valid и на грид, и на column, и на text, не получается почему-то...
...
Рейтинг: 0 / 0
16.03.2004, 09:05
    #32442814
Обработка изменений в гриде
1. Нужно отследить, имелись ли изменения в TextBox'e Grid'a. Для этого можно на форму добавить свойство, значение которого устанавливать в истину при изменении значения в поле ввода. Для этого в методе InteractiveChange TextBox'a пишем код:
Код: plaintext
thisform.lChange = .t.

2. В методе LostFocus TextBox'a анализируем, были ли изменения значения, и выполняем соответствующме действия:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
if thisform.lChange
   thisform.lChange = .f.
   if ...
       Действия
   else
       return .f.    && Если не нужно покидать TextBox
   endif
endif
...
Рейтинг: 0 / 0
16.03.2004, 09:13
    #32442825
bdv9
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка изменений в гриде
Создать свой класс на основе TextBox, прописать нужные действия в Valid.
При заполнении Grid'а подменить объекты:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
** Создание класса (в PRG файле)
Define Class cNameClass As TextBox
Function Valid
** Твои действия
EndFunc
EndDefine

** В форме подключить класс
Set Proc To <PRG файл>

** В форме на этапе создания Grid'а
With ThisForm.Griod.Columns(lnColumns)
	.RemoveObject('Text1')
	.AddObject('Text1', 'cNameClass')
	.Text1.Visible = .T.
EndWith

** lnColumns - номер столбца
** lcNameClass - имя созданного класса
...
Рейтинг: 0 / 0
16.03.2004, 09:14
    #32442830
Соня_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка изменений в гриде
Спасибо!
Но... я думала, что это проще делается - в 1 методе...
))))
...
Рейтинг: 0 / 0
16.03.2004, 10:38
    #32442973
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка изменений в гриде
To: Соня_

Предлагаемый Вам вариант bdv9 как раз и есть самый простой :)

А вообще за изменением следит InteractiveChange Method for Text1, если Вы хотите пойти своим путем
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обработка изменений в гриде / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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