This is a migrated thread and some comments may be shown as answers.

Custom Paging

0 Answers 153 Views
Data Source
This is a migrated thread and some comments may be shown as answers.
Jenny
Top achievements
Rank 1
Jenny asked on 23 Jul 2012, 05:52 PM

I am trying to do a custom paging by using mvvm, datasource and template. My problem is I have to use this.set to set the dataSource page() or total pages() to get the value this.get("dataSource").totalPages() or this.get("dataSource").page() refreshed. That is why I set a variable pageRefreshHolder as work-around. Is there some easy way?

var viewModel=kendo.observable({
        dataSource:new kendo.data.DataSource({
            data:ReportsData,
            pageSize:12,
            sort:{ field: "name", dir: "asc" }
        }),
        copy:function(e){
            this.dataSource.add(e.data);
            this.set("pageRefreshHolder",this.dataSource.totalPages()); //I have to have this line to get the totalPage work
        },
        goToNextPage:function(){
            if(this.dataSource.page()<this.dataSource.totalPages())
                this.dataSource.page(this.dataSource.page()+1);
            else
                this.dataSource.page(1);
            $jquery("#reportsArea").find("div#phItem").show("slide",{direction:"right"}, 500);
            this.set("pageRefreshHolder",this.dataSource.page()); //I have to have this line to get the currentPage work
 
        },
        goToPrevPage:function(){
            if(this.dataSource.page()>1)
                this.dataSource.page(this.dataSource.page()-1);
            else
                this.dataSource.page(this.dataSource.totalPages());
            $jquery("#reportsArea").find("div#phItem").show("slide",{direction:"left"}, 500);
            this.set("pageRefreshHolder",this.dataSource.page()); //I have to have this line to get the currentPage work
        },
        pageRefreshHolder: 1,
        totalPage: function() {
            return this.get("dataSource").totalPages();
        },
        currentPage: function(){
            return this.get("dataSource").page();
        }
    });
    kendo.bind($jquery("#reportsArea"),viewModel);

No answers yet. Maybe you can help?

Tags
Data Source
Asked by
Jenny
Top achievements
Rank 1
Share this question
or