17.06.2002, 16:22 | #1 |
Moderator
|
Перемещение по записям отфильтрованного DataSource
Добрый день.
Проблема следующая. Есть форма с гридом на который выводятся данные из datasource. Данные на форме как угодно фильтруются пользователем, а мне надо считать сумму отфильтрованных данных по какому либо полю(с учетом фильтрации) и выводить ее на форму. Создал свою форму поместил datasource свою таблицу и перекрыл executeQuery() следующим образом: public void executeQuery() { QueryRun qr; InventTrans it; real sm; ; super(); qr = this.queryRun(); it = qr.get(tableNum(InventTrans)); sm = it.Qty; print it.ItemId; while (qr.next()) { it = qr.get(tableNum(InventTrans)); sm = sm + it.Qty; print it.ItemId; } dem_rl.realValue(sm); } Все работает. Теперь пробую тоже самое реализовать в форме VendTrans - у datasource VendTrans в метод executeQuery() добавлюя следующий код: QueryRun qr; VendTrans vt; real sm; ............................ qr = this.queryRun(); vt = qr.get(tableNum(VendTrans)); sm = vt.AmountMST; while (qr.next()) { vt = qr.get(tableNum(VendTrans)); sm = sm + vt.AmountMST; } dem_Balance.realValue(sm); super(); При запуске формы появляется ошибка - QueryRun object не инициализован (при вызове метода get). В чем может быть дело ? Или данную задачу можно (и нужно) решать другим способом ? |
|
17.06.2002, 17:59 | #2 |
----------------
|
1. Сравнивая эти 2 метода, видно, что они отличаются - super() вызывается в разных местах
2. Для попдобных занятий лучше не использовать "родной" queryRun, а создавать новый на основе query. Это, кстати, поможет избежать ошибок, когда "родной" не инициализирован (еще) PHP код:
|
|
17.06.2002, 18:26 | #3 |
Moderator
|
1. Спасибо. До сих пор не могу научиться определять куда вставлять свой код в том или ином случае, до super() или после.
2. Тоже спасибо. Кстати один вопрос. Когда я в методе dataSource я говорю this, какой экземпляр какого класса я получаю ? |
|
18.06.2002, 08:37 | #4 |
----------------
|
1. "И опыт - сын ошибок трудных..."
2. Получаешь объект TvoyTable_DS (класс FormDataSource) |
|