powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как запретить изменение данных в Grid
5 сообщений из 5, страница 1 из 1
Как запретить изменение данных в Grid
    #38437617
Alexxz187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер.
В общем проблема в следующем: при добавлении новой записи в грид'е на 3 (вроде еще в 5, 8, 13, 14) строке происходит волшебство и данные во всем гриде изменяются (в столбцах где идет расчет). Причем добавляя 4 строку данные возвращаются в нормальный вид. Для заполнения грида берется 2 таблицы. Данные выбираются из этих таблиц корректно. Проверял wait'ом после каждой строки.
Подскажите пожалуйста в каком направлении копать. Возможно ли сделать так, чтоб после добавления новой строки предыдущая блокировалась для изменений?
...
Рейтинг: 0 / 0
Как запретить изменение данных в Grid
    #38437625
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexxz187Подскажите пожалуйста в каком направлении копать. Возможно ли сделать так, чтоб после добавления новой строки предыдущая блокировалась для изменений?Чудес не бывает и фокс ничего такого сам не делает. То есть ищите ошибку в своем коде.
...
Рейтинг: 0 / 0
Как запретить изменение данных в Grid
    #38437674
Alexxz187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizov,

If !Used('Tmp_pl') Or !Used('Tmp_ml')
Return
Endif

lnNz=0
lnKz=0
Select Tmp_ml
If eof()
Go Top
Endif
lnNz=Recno('Tmp_ml')
Count All To lnKz
If lnKz=0
Return
Endif


Scan All
lnG_r = (Tmp_ml.g_s + Tmp_ml.g_zv + Tmp_ml.g_zt - Tmp_ml.g_rt) - Tmp_ml.g_f
lnG_rn = (Tmp_ml.w_h * tmp_pl.n_hh) + (Tmp_ml.w_p * tmp_pl.n_p00 / 100) + (Tmp_ml.w_v * tmp_pl.n_v00)
lnG_o = lnG_rn - lnG_r
Replace g_r WITH lnG_r, g_rn With lnG_rn, g_o With lnG_o In Tmp_ml
Endscan

Select Tmp_ml
Go Top
Sum g_zv, g_zt, g_r, g_rn, g_o, w_h, w_p, w_v All To sG_zv, sG_zt, sG_r, sG_rn, sG_o, sW_h, sW_p, sW_v
Replace g_v With sG_zv+sG_zt, ;
g_r With sG_r, ;
g_o With sG_o, ;
w_h With sW_h, ;
w_p With sW_p, ;
w_v With sW_v In tmp_pl


Go lnNz
Thisform.Refresh

подозреваю где то здесь
...
Рейтинг: 0 / 0
Как запретить изменение данных в Grid
    #38438044
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexxz187Sergey Sizov,

If !Used('Tmp_pl') Or !Used('Tmp_ml')
Return
Endif

lnNz=0
lnKz=0
Select Tmp_ml
If eof()
Go Top
Endif
lnNz=Recno('Tmp_ml')
Count All To lnKz
If lnKz=0
Return
Endif


Scan All
lnG_r = (Tmp_ml.g_s + Tmp_ml.g_zv + Tmp_ml.g_zt - Tmp_ml.g_rt) - Tmp_ml.g_f
lnG_rn = (Tmp_ml.w_h * tmp_pl.n_hh) + (Tmp_ml.w_p * tmp_pl.n_p00 / 100) + (Tmp_ml.w_v * tmp_pl.n_v00)
lnG_o = lnG_rn - lnG_r
Replace g_r WITH lnG_r, g_rn With lnG_rn, g_o With lnG_o In Tmp_ml
Endscan

Select Tmp_ml
Go Top
Sum g_zv, g_zt, g_r, g_rn, g_o, w_h, w_p, w_v All To sG_zv, sG_zt, sG_r, sG_rn, sG_o, sW_h, sW_p, sW_v
Replace g_v With sG_zv+sG_zt, ;
g_r With sG_r, ;
g_o With sG_o, ;
w_h With sW_h, ;
w_p With sW_p, ;
w_v With sW_v In tmp_pl


Go lnNz
Thisform.Refresh

подозреваю где то здесь

В первом посте написано "при добавлении НОВОЙ записи". В этом коде нет добавления новой записи, а только редактирование.
...
Рейтинг: 0 / 0
Как запретить изменение данных в Grid
    #38439251
Alexxz187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

Все верно при добавлении новой записи.
Проблема была решена следующим способом:

GO lnNz

*Scan All
lnG_r = (Tmp_ml.g_s + Tmp_ml.g_zv + Tmp_ml.g_zt - Tmp_ml.g_rt) - Tmp_ml.g_f
lnG_rn = (Tmp_ml.w_h * tmp_pl.n_hh) + (Tmp_ml.w_p * tmp_pl.n_p00 / 100) + (Tmp_ml.w_v * tmp_pl.n_v00)
lnG_o = lnG_rn - lnG_r
Replace g_r WITH lnG_r, g_rn With lnG_rn, g_o With lnG_o In Tmp_ml
*Endscan


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


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