|
|
|
Проблема с computed field
|
|||
|---|---|---|---|
|
#18+
Решил посмотреть на PB 10.5. И сразу же наткнулся на странную вещь. Есть в datawindow типа Grid вычисляемое поле в строке detail вида a * b. Скрипт меняет значения полей a и b. В PB 9.0.2 все работало - после изменения полей вычисляемое поле меняло свое значение, а в 10.5 - нет. Поставил последний EBF - 5063. Тоже самое. Кто-нибудь с таким сталкивался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 09:12 |
|
||
|
Проблема с computed field
|
|||
|---|---|---|---|
|
#18+
Добавление к предыдущей информации. Опытным путем выяснилось, что вычисляемое поле обновляет свое значение только в следующих случаях: 1. При щелчке мышкой на этом поле, если у datawindow включено свойство Mouse Selection. 2. При переходе на другую закладку и возврате назад (datawindow лежит на tabpage). 3. При создании в разделе Summary вычисляемого поля суммы на основе полей a или b. Причем создание такого же поля суммы в Summary на основе вычисляемого поля a*b (detail) такого эффекта не дает. Вообщем странно все это... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 09:43 |
|
||
|
Проблема с computed field
|
|||
|---|---|---|---|
|
#18+
А если groupcalc() вызвать - поможет? Кстати, может это теперь фича такая, а то при большом количестве данных пересчет computed fields занимает ощутимое время... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 13:44 |
|
||
|
Проблема с computed field
|
|||
|---|---|---|---|
|
#18+
groupcalc() не помог. Да и судя по описанию, он вызывает пересчет итогов групп, а у меня групп нет. Значение считается в каждой строке деталей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 14:58 |
|
||
|
Проблема с computed field
|
|||
|---|---|---|---|
|
#18+
eugene_2006Да и судя по описанию, он вызывает пересчет итогов групп, а у меня групп нет. Значение считается в каждой строке деталей. Ну по всей вероятности, он еще там что-то внутри считает, потому что мне с похожими проблемами помогало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 16:05 |
|
||
|
Проблема с computed field
|
|||
|---|---|---|---|
|
#18+
Делайте так: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 16:24 |
|
||
|
Проблема с computed field
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyДелайте так: Анатолий, не держите меня за дурака, это же не помогает. Значение computed field должно быть пересчитано не зависимо от того, нужно отображать данные или нет (с этим могут быть проблемы хоть в DataStore). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 17:18 |
|
||
|
Проблема с computed field
|
|||
|---|---|---|---|
|
#18+
Я проверил прежде чем написать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 17:53 |
|
||
|
Проблема с computed field
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyЯ проверил прежде чем написать. Ну как на это может повлиять SetRedraw()? А если я захочу сделать GetItem... у computed field'a перед SetRedraw(true), я что, неверное значение получу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 18:40 |
|
||
|
Проблема с computed field
|
|||
|---|---|---|---|
|
#18+
Я написал как обойти. Причину проблемы я не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 18:50 |
|
||
|
Проблема с computed field
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyЯ написал как обойти. Да не решение это! Вернее решение, но не той проблемы. Чтобы не перерисовывалось каждый раз - это да. А если сделать так сотенку computed field'ов и вставить строчек так 10000 и засечь скорость работы, и сперва вставить 10000 строчек, а потом создать 100 computed field'ов и сравнить скорость работы, то сразу станет понятно про что я говорю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 19:44 |
|
||
|
Проблема с computed field
|
|||
|---|---|---|---|
|
#18+
Пусть лучше автор вопроса скажет подходит ему это или лучше багрепорт в сайбейс написать и ждать что может где-то в версии 12 исправят :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 23:56 |
|
||
|
Проблема с computed field
|
|||
|---|---|---|---|
|
#18+
Решение в стиле Код: plaintext 1. 2. мне подходит, причем, я проверил, что оно работает. Я считаю, что это даже, в какой-то степени, более оптимально в плане производительности. Проблема, действительно, именно в отрисовке значения вычисляемого поля. Если после изменения полей a и b получить в скрипте значение вычисляемого поля a*b, то будет правильное новое значение, хотя на экране отображается старое значение. Если эта проблема проявляется не только у меня, то согласен, что это похоже на баг. Кстати, а в 10-й версии такая проблема есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 08:58 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=33958086&tid=1337622]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 308ms |

| 0 / 0 |
