|
Как запретить изменение данных в Grid
|
|||
---|---|---|---|
#18+
Добрый вечер. В общем проблема в следующем: при добавлении новой записи в грид'е на 3 (вроде еще в 5, 8, 13, 14) строке происходит волшебство и данные во всем гриде изменяются (в столбцах где идет расчет). Причем добавляя 4 строку данные возвращаются в нормальный вид. Для заполнения грида берется 2 таблицы. Данные выбираются из этих таблиц корректно. Проверял wait'ом после каждой строки. Подскажите пожалуйста в каком направлении копать. Возможно ли сделать так, чтоб после добавления новой строки предыдущая блокировалась для изменений? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2013, 21:31 |
|
Как запретить изменение данных в Grid
|
|||
---|---|---|---|
#18+
Alexxz187Подскажите пожалуйста в каком направлении копать. Возможно ли сделать так, чтоб после добавления новой строки предыдущая блокировалась для изменений?Чудес не бывает и фокс ничего такого сам не делает. То есть ищите ошибку в своем коде. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2013, 21:40 |
|
Как запретить изменение данных в Grid
|
|||
---|---|---|---|
#18+
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 подозреваю где то здесь ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2013, 22:33 |
|
Как запретить изменение данных в Grid
|
|||
---|---|---|---|
#18+
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 подозреваю где то здесь В первом посте написано "при добавлении НОВОЙ записи". В этом коде нет добавления новой записи, а только редактирование. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2013, 11:29 |
|
Как запретить изменение данных в Grid
|
|||
---|---|---|---|
#18+
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 Все работает, но теперь непонятно почему при пересчете изменялись данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2013, 08:46 |
|
|
start [/forum/search_topic.php?author=nomail&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
145ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 605ms |
total: | 866ms |
0 / 0 |