From 5cb8bf3a2d0f7d7b9b0b5907a80aee85a8c6f2d9 Mon Sep 17 00:00:00 2001 From: mikl <> Date: Thu, 31 Jul 2008 13:07:13 +0000 Subject: Fixed #893: Added page parameter to queryForPagedList() --- framework/Data/SqlMap/DataMapper/TSqlMapPagedList.php | 10 ++++++---- framework/Data/SqlMap/TSqlMapGateway.php | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) (limited to 'framework') diff --git a/framework/Data/SqlMap/DataMapper/TSqlMapPagedList.php b/framework/Data/SqlMap/DataMapper/TSqlMapPagedList.php index a52e9a39..b3a88653 100644 --- a/framework/Data/SqlMap/DataMapper/TSqlMapPagedList.php +++ b/framework/Data/SqlMap/DataMapper/TSqlMapPagedList.php @@ -41,12 +41,13 @@ class TSqlMapPagedList extends TPagedList * @param mixed query parameters * @param int page size * @param mixed delegate for each data row retrieved. + * @param int number of page to fetch on initialization */ - public function __construct(IMappedStatement $statement,$parameter, $pageSize, $delegate=null) + public function __construct(IMappedStatement $statement,$parameter, $pageSize, $delegate=null, $page=0) { parent::__construct(); parent::setCustomPaging(true); - $this->initialize($statement,$parameter, $pageSize); + $this->initialize($statement,$parameter, $pageSize, $page); $this->_delegate=$delegate; } @@ -55,14 +56,15 @@ class TSqlMapPagedList extends TPagedList * @param IMappedStatement SqlMap statement. * @param mixed query parameters * @param int page size. + * @param int number of page. */ - protected function initialize($statement, $parameter, $pageSize) + protected function initialize($statement, $parameter, $pageSize, $page) { $this->_statement = $statement; $this->_parameter = $parameter; $this->setPageSize($pageSize); $this->attachEventHandler('OnFetchData', array($this, 'fetchDataFromStatement')); - $this->gotoPage(0); + $this->gotoPage($page); } /** diff --git a/framework/Data/SqlMap/TSqlMapGateway.php b/framework/Data/SqlMap/TSqlMapGateway.php index fcd7d216..dd7c2069 100644 --- a/framework/Data/SqlMap/TSqlMapGateway.php +++ b/framework/Data/SqlMap/TSqlMapGateway.php @@ -122,12 +122,13 @@ class TSqlMapGateway extends TComponent * @param string The name of the sql statement to execute. * @param mixed The object used to set the parameters in the SQL. * @param integer The maximum number of objects to store in each page. + * @param integer The number of the page to initially load into the list. * @return TPagedList A PaginatedList of beans containing the rows. */ - public function queryForPagedList($statementName, $parameter=null, $pageSize=10) + public function queryForPagedList($statementName, $parameter=null, $pageSize=10, $page=0) { $statement = $this->getSqlMapManager()->getMappedStatement($statementName); - return new TSqlMapPagedList($statement, $parameter, $pageSize); + return new TSqlMapPagedList($statement, $parameter, $pageSize, null, $page); } /** @@ -142,12 +143,13 @@ class TSqlMapGateway extends TComponent * @param callback Row delegate handler, a valid callback required. * @param mixed The object used to set the parameters in the SQL. * @param integer The maximum number of objects to store in each page. + * @param integer The number of the page to initially load into the list. * @return TPagedList A PaginatedList of beans containing the rows. */ - public function queryForPagedListWithRowDelegate($statementName,$delegate, $parameter=null, $pageSize=10) + public function queryForPagedListWithRowDelegate($statementName,$delegate, $parameter=null, $pageSize=10, $page=0) { $statement = $this->getSqlMapManager()->getMappedStatement($statementName); - return new TSqlMapPagedList($statement, $parameter, $pageSize, $delegate); + return new TSqlMapPagedList($statement, $parameter, $pageSize, $delegate,$page); } -- cgit v1.2.3