문제

ListView Control과 DataPager 컨트롤이있는 페이지가 있습니다. ListViews DataSource는이 코드를 사용하여 프로그래밍 방식으로 설정됩니다.

Dim dal as new dalDataContext
Dim bookmarks = From data In dal.getData(userid)
listview1.DataSource = bookmarks
listview1.DataBind()

브라우저 에서이 페이지를 테스트 할 때 'ID가있는 listView'ListView1 '은 ICOLLECTION을 구현하거나 허용 페이징이 참이면 데이터 소스 페이징을 수행 할 수있는 데이터 소스가 있어야합니다.'

이 시나리오에서 페이징을 구현하려면 어떻게해야합니까?

감사

도움이 되었습니까?

해결책

노력하다

listview1.DataSource = bookmarks.ToArray()

이번 주에도 같은 문제가있었습니다.

다른 팁

OP가 이후에 발생한 Click -TWICE 문제에 대한 답변 - 데이터베드를 OnPrerender 이벤트 핸들러로 옮깁니다.

    protected void Page_PreRender(object sender, EventArgs e)
    {
        listview1.DataBind();
    }

또는 페이지 속성을 변경하고 BindListView를 만들 수도 있습니다.

protected void lv_PagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
    //set current page startindex, max rows and rebind to false
    DataPager dp = lvNews.FindControl("lvDataPager1") as DataPager;
    dp.SetPageProperties(e.StartRowIndex, e.MaximumRows, false);

    BindListView();
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top