Я пытаюсь написать расширение для сохранения результатов в DomainDatasourceView.Я могу успешно записать содержимое текущей страницы результатов, но когда я пытаюсь вызвать MoveToNextPage (), PageIndex остается текущим.Документы MSDN, касающиеся этого, не предоставляют никаких подробностей, кроме MoveToNextPage возвращает bool, если он успешно перемещается на следующую страницу.
Следующий пример кода приводит к бесконечному циклу, и текущая страница никогда не изменяется.
private void WriteResults(DomainDataSourceView resultsview)
{
StringBuilder csvdata = new StringBuilder();
... Do Work on current page ...
if(resultsview.CanChangePage && resultsview.MoveToNextPage())
{
csvdata.Append(WriteResults(resultsview));
}
}
Нужно ли прослушивать событие PageChanged для продолжения сохранения результатов?
Нужно ли вызывать Load для DomainDataSource для каждой страницы?
* Документы MSDN для DomainDataSourceView не вдавались в подробности этой темы.
[Редактировать] После дополнительной игры я смог определить, что команды Move ... Page вызывают вызовоперация загрузки DomainDataSource, однако это еще один асинхронный вызов, поэтому любая последовательная работа, которую необходимо выполнить на загруженных страницах, должна обрабатываться соответствующим образом.