protected function populateData($param, $data)
{
$total = $data instanceof TList ? $data->getCount() : count($data);
$pageSize = $this->getPageSize();
if ($total < 1) {
$param->setData($data);
$this->_prevPageList = null;
$this->_nextPageList = null;
return;
}
if ($param->getNewPageIndex() < 1) {
$this->_prevPageList = null;
if ($total <= $pageSize) {
$param->setData($data);
$this->_nextPageList = null;
} else {
$param->setData(array_slice($data, 0, $pageSize));
$this->_nextPageList = array_slice($data, $pageSize - 1, $total);
}
} else {
if ($total <= $pageSize) {
$this->_prevPageList = array_slice($data, 0, $total);
$param->setData(array());
$this->_nextPageList = null;
} else {
if ($total <= $pageSize * 2) {
$this->_prevPageList = array_slice($data, 0, $pageSize);
$param->setData(array_slice($data, $pageSize, $total));
$this->_nextPageList = null;
} else {
$this->_prevPageList = array_slice($data, 0, $pageSize);
$param->setData(array_slice($data, $pageSize, $pageSize));
$this->_nextPageList = array_slice($data, $pageSize * 2, $total - $pageSize * 2);
}
}
}
}