Страница 2 из 2

Подсчет суммы из источника

Добавлено: 17 май 2007, 16:39
Vital
Ладно, поместил код

Код: Выделить всё

Console.WriteLine(polist.Count);
polist.First();
while (!polist.IsEof)
{
if (polist.Operation == (int) POpCodes.Repayment)
{
    RepaymentSum += polist.Insurance;
}
polist.Next();
}
в BeginRender первой страницы Page1_BeginRender() всё работает как требуется, без дубликатов, но почему при помещении этого кода в BeginRender второй страницы Page2_BeginRender() получаю только первую запись из polist ( а polist.Count = 1) ???
А polist источник данных где то используется еще?
(также пробовал поместить этот код в Report_BeginRender() - вообще не получаю ни одной записи )

так чем же объясняется такое поведение ???

P.S. точно такое же поведение при использовании BeforePrint
В событии BeginRender отчета данные еще не подсоеденены.

Спасибо.

Подсчет суммы из источника

Добавлено: 17 май 2007, 17:39
Валерий В. Шинкевич
Vital писал(а): А polist источник данных где то используется еще?
да, в том то и дело, что используется....

вообщем пока добирался до дома мысля одна возникла... вот думаю проверить надо - и точно.

у меня на первой странице есть два бэнда данных с установленными фильтрами в первый из них попадают записи с Operation == 0, во второй с Operation == 1
данные в источнике
Операция №0000001 от 16.05.2007 с Operation = 1
Операция №0000002 от 16.05.2007 с Operation = 0

и вот пока во втором датабенде первой страницы стоял фильтр Operation == 1 - Page2_BeginRender() видел только Операция №0000001
удалил фильтр - в Page2_BeginRender() стали попадать все записи
поставл фильтр Operation == 0 и Page2_BeginRender() стало видно только Операция №0000002

такие вот пироги....




Подсчет суммы из источника

Добавлено: 17 май 2007, 18:02
Валерий В. Шинкевич
причем если в конец первой страницы добавить пустой дата бенд с этим источником и без фиьтров
даже с Enabled = false , то проблем на второй странице нет

Подсчет суммы из источника

Добавлено: 17 май 2007, 18:20
Vital
У Вас на первой странице есть датабэнд с фильтром и с этим источником? Если да то нужно сбросить этот фильтр. К сожалению метод ResetData у источника данных помечен как internal сейчас и доступ к нему Вы получить не сможете (мы поправили эту проблему и завтра это сделать будет возможно). Единственный вариант это сделать Disconnect() Connect() перед методом First().

Спасибо.