Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / автоматически заполнить поле грид, при вводе данных в другой грид / 10 сообщений из 10, страница 1 из 1
25.01.2011, 11:27
    #37077018
Жека К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматически заполнить поле грид, при вводе данных в другой грид
здравствуйте!!
Не подскажете, как можно автоматически заполнить поле грид, при вводе данных в другое поле грида??
очень нужна ваша помошь!!
...
Рейтинг: 0 / 0
25.01.2011, 11:30
    #37077032
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматически заполнить поле грид, при вводе данных в другой грид
Жека Кздравствуйте!!
Не подскажете, как можно автоматически заполнить поле грид, при вводе данных в другое поле грида??
очень нужна ваша помошь!!

задостал

напиши четко постановку,
покажи что ты сам сделал для решения задачи

+ если Вы воспользуетесь поиском по словам
"грид вычисляемое поле", -
то он будет ерзультативным
...
Рейтинг: 0 / 0
25.01.2011, 11:35
    #37077050
Жека К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматически заполнить поле грид, при вводе данных в другой грид
прошелмимо, вычисляемое поле грида несколько другое... у меня есть форма, на ней пайджфрейм.. на первой странице грид1 на второй грид2.. мне надо чтобы при заполнении поля в грид 2, автоматически заполнилось бы поле с этими данными в грид1
...
Рейтинг: 0 / 0
25.01.2011, 11:39
    #37077066
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматически заполнить поле грид, при вводе данных в другой грид
Grid - это "окно" через которое Вы смотрите на таблицу-источник. Сам по себе Grid вообще ничего не содержит. Как следствие, вопрос следует переформулировать так:

Как заполнить поле таблицы при изменении содержимого другого поля таблицы.

Если таблица включена в контейнер базы данных, то это делается при помощи RULE для поля, которое будет изменяться. Т.е. в хранимых процедурах базы данных создается функция, примерно такого содержания

Код: plaintext
1.
2.
3.
4.
FUNCTION UpdateField1
replace Field1 with  10 
return .t.
ENDFUNC

Обратите внимание, что здесь нет никаких упоминаний про рабочую область, алиса таблицы или номер записи, поскольку внутри RULE мы и так находимся в нужной рабочей области и на нужной записи

Далее в дизайнере таблицы на закладке Fields для того поля, которое будем модифицировать справа в окошке Rule указываем имя этой функции

Следует заметить, что крайне не желательно в RULE менять значения в других таблицах или в других записях этой же таблицы. Если стоит задача именно изменения в других таблицах или других записях, то, лучше перенести код в триггер на модификацию этой таблицы (закладка Table в дизайнере таблицы)

==========================

Только, возможно, Вам это и не нужно. В смысле, не нужно хранить в таблице результатов вычислений, а достаточно будет просто отобразить в Grid некоторую расчетную величину. В этом случае в качестве источника данных какого-либо столбца можно указать функцию от полей таблиц. Т.е. в ControlSource столбца указать, например

Код: plaintext
ThisForm.Grid1.Column1.ControlSource = MyTable.Kolich*MyTable.Price

Этот столбец нельзя будет редактировать, однако при изменении значения полей MyTable.Kolich или MyTable.Price значение этого столбца изменяться автоматически.
...
Рейтинг: 0 / 0
25.01.2011, 11:45
    #37077097
Жека К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматически заполнить поле грид, при вводе данных в другой грид
ВладимирМ,

в том то и дело что вычислять ничего не надо.. а именно перезаписать данные в таблице..

если не трудно, можно по подробнее про RULE... я просто никогда не сталкивался с этим...?
...
Рейтинг: 0 / 0
25.01.2011, 11:50
    #37077113
Жека К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматически заполнить поле грид, при вводе данных в другой грид
ВладимирМ,

просто мне надо чтобы при вводе данных "Контрагент.Дебет" автоматически добавилось это значение в "Поставшики.Долг"
...
Рейтинг: 0 / 0
25.01.2011, 11:54
    #37077132
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматически заполнить поле грид, при вводе данных в другой грид
Жека Кпросто мне надо чтобы при вводе данных "Контрагент.Дебет" автоматически добавилось это значение в "Поставшики.Долг"
Если речь идет о разных таблицах, то вместо RULE надо использовать триггер. Т.е. выполнять изменения в другой таблице не в момент изменения поля, а в момент сохранения внесенных изменений.

Подробнее о триггере можно почитать здесь Триггер
...
Рейтинг: 0 / 0
25.01.2011, 12:00
    #37077150
Жека К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматически заполнить поле грид, при вводе данных в другой грид
ВладимирМ,

не могли бы написать примерный код выполнения?? был бы очень признателен
...
Рейтинг: 0 / 0
25.01.2011, 12:14
    #37077205
Koryuu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматически заполнить поле грид, при вводе данных в другой грид
Кусок кода, написан коллегой под 6,0

ParentTable
Есть поле xkey - уникальный ключ (типа id). В свойствах таблицы в default value прописан вызов функции FN_XKEY()

Код: plaintext
1.
2.
3.
4.
FUNCTION FN_XKEY()
   _xkey=генерируется ключ по алгоритму
  SELECT ChildTable
  APPEND BLANK
RETURN _XKEY

ChildTable
Есть такой же xkey, в default value прописана фунция F_XKEY
Код: plaintext
1.
2.
FUNCTION F_XKEY()
_XKEY=ключ генерируется по тому же алгоритму, что и в FN_XKEY
RETURN _XKEY

Результат - при добавлении строки в ParentTable в ChildTable автоматически добавляется строка с таким же ключом. В вашем случае можно сделать по аналогии.
...
Рейтинг: 0 / 0
25.01.2011, 13:02
    #37077325
Жека К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматически заполнить поле грид, при вводе данных в другой грид
Koryuu,

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


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