powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Проблема с computed field
14 сообщений из 14, страница 1 из 1
Проблема с computed field
    #33954352
eugene_2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил посмотреть на PB 10.5. И сразу же наткнулся на странную вещь. Есть в datawindow типа Grid вычисляемое поле в строке detail вида a * b. Скрипт меняет значения полей a и b. В PB 9.0.2 все работало - после изменения полей вычисляемое поле меняло свое значение, а в 10.5 - нет. Поставил последний EBF - 5063. Тоже самое. Кто-нибудь с таким сталкивался?
...
Рейтинг: 0 / 0
Проблема с computed field
    #33954429
eugene_2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавление к предыдущей информации. Опытным путем выяснилось, что вычисляемое поле обновляет свое значение только в следующих случаях:
1. При щелчке мышкой на этом поле, если у datawindow включено свойство Mouse Selection.

2. При переходе на другую закладку и возврате назад (datawindow лежит на tabpage).

3. При создании в разделе Summary вычисляемого поля суммы на основе полей a или b. Причем создание такого же поля суммы в Summary на основе вычисляемого поля a*b (detail) такого эффекта не дает.

Вообщем странно все это...
...
Рейтинг: 0 / 0
Проблема с computed field
    #33955412
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если groupcalc() вызвать - поможет?
Кстати, может это теперь фича такая, а то при большом количестве данных пересчет computed fields занимает ощутимое время...
...
Рейтинг: 0 / 0
Проблема с computed field
    #33955681
eugene_2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
groupcalc() не помог. Да и судя по описанию, он вызывает пересчет итогов групп, а у меня групп нет. Значение считается в каждой строке деталей.
...
Рейтинг: 0 / 0
Проблема с computed field
    #33955964
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eugene_2006Да и судя по описанию, он вызывает пересчет итогов групп, а у меня групп нет. Значение считается в каждой строке деталей.
Ну по всей вероятности, он еще там что-то внутри считает, потому что мне с похожими проблемами помогало.
...
Рейтинг: 0 / 0
Проблема с computed field
    #33956057
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делайте так:
Код: plaintext
1.
2.
3.
dw_1.SetRedraw(False)
dw_1.SetItem( 1 , "a",  10 )
dw_1.SetRedraw(True)
...
Рейтинг: 0 / 0
Проблема с computed field
    #33956317
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyДелайте так:
Анатолий, не держите меня за дурака, это же не помогает. Значение computed field должно быть пересчитано не зависимо от того, нужно отображать данные или нет (с этим могут быть проблемы хоть в DataStore).
...
Рейтинг: 0 / 0
Проблема с computed field
    #33956487
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я проверил прежде чем написать.
...
Рейтинг: 0 / 0
Проблема с computed field
    #33956621
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyЯ проверил прежде чем написать.
Ну как на это может повлиять SetRedraw()? А если я захочу сделать GetItem...
у computed field'a перед SetRedraw(true), я что, неверное значение получу?
...
Рейтинг: 0 / 0
Проблема с computed field
    #33956646
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я написал как обойти.
Причину проблемы я не знаю.
...
Рейтинг: 0 / 0
Проблема с computed field
    #33956751
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyЯ написал как обойти.
Да не решение это! Вернее решение, но не той проблемы. Чтобы не перерисовывалось каждый раз - это да. А если сделать так сотенку computed field'ов и вставить строчек так 10000 и засечь скорость работы, и сперва вставить 10000 строчек, а потом создать 100 computed field'ов и сравнить скорость работы, то сразу станет понятно про что я говорю.
...
Рейтинг: 0 / 0
Проблема с computed field
    #33957037
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пусть лучше автор вопроса скажет подходит ему это или лучше багрепорт в сайбейс написать и ждать что может где-то в версии 12 исправят :)
...
Рейтинг: 0 / 0
Проблема с computed field
    #33957316
eugene_2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решение в стиле

Код: plaintext
1.
2.
dw_1.SetRedraw(False)
dw_1.SetItem( 1 , "a",  10 )
dw_1.SetRedraw(True)

мне подходит, причем, я проверил, что оно работает. Я считаю, что это даже, в какой-то степени, более оптимально в плане производительности. Проблема, действительно, именно в отрисовке значения вычисляемого поля. Если после изменения полей a и b получить в скрипте значение вычисляемого поля a*b, то будет правильное новое значение, хотя на экране отображается старое значение.

Если эта проблема проявляется не только у меня, то согласен, что это похоже на баг. Кстати, а в 10-й версии такая проблема есть?
...
Рейтинг: 0 / 0
Проблема с computed field
    #33958086
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eugene_2006Кстати, а в 10-й версии такая проблема есть?

В 10.2.1.9004 - нет.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Проблема с computed field
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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