Перемещение по записям отфильтрованного 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).
В чем может быть дело ?
Или данную задачу можно (и нужно) решать другим способом ?
|