2010-04-23 7 views
2

У меня есть ListView, который я просматриваю с помощью DataPager. Я хотел бы установить начальную страницу пейджера на странице_Load. Я пробовал метод DataPager.SetPageProperties, но он не делает то, что мне нужно. Вот как я звоню этот метод:Set PageIndex of DataPager

dataPager.SetPageProperties(3, dataPager.TotalRowCount, false); 

Линия выше урезает источника данных, чтобы начать на третьем пункта и пейджинговой еще начинается с 1. Это не то, что я хочу. Я хочу сохранить весь список элементов и просто перейти к определенной странице в списке.

Есть ли другое свойство и/или метод DataPager и/или ListView, которые я должен использовать?

Любая помощь будет принята с благодарностью.

Спасибо!

+0

Методы, описанные на этой странице, кажется, работают: http://leedumond.com/blog/resetting-the-page-index-in-a-listview/ – samiz

ответ

5

Попробуйте это. Не испытано.

--edited--

dataPager.SetPageProperties( 
    (3 * dataPager.PageSize, 
    dataPager.MaximumRows, 
    false 
); 
+0

Спасибо за предложение , К сожалению, это не сработало. Я предположил, что вы назвали dataPager «this.Pager», потому что предоставленная вами строка создала ошибку времени выполнения. Поэтому я заменил «this.Pager» на dataPager, но я получил пустую страницу без элементов ListView или элементов подкачки. Спасибо в любом случае! – DougCouto

+0

Да, я его отредактировал. Каковы значения datapager.PageSize и dataPager.MaximumRows? –

+0

У меня был отличный вызов, но ваш намек мне очень помог. Вы сделали мой день! –

0

Если вы связываете свой источник данных с помощью кода, вы можете вручную установить PageIndex в метод связывания.

grd.DataSource = something .. 
grd.PageIndex = initialIndex;//where initialIndex is the index you wish to set 
//you can arrange this index in your code,it's up to you actually. 
grd.DataBind(); 

Дело в том, что перед привязкой данных вы должны установить новый индекс страницы.
С наилучшими пожеланиями
Myra