function ProcessMessages() { if (GetApplication()->IsGETValueSet('page')) { $this->pageNumber = GetApplication()->GetGETValue('page') - 1; GetApplication()->SetSessionVariable($this->GetSessionPrefix() . 'page', $this->pageNumber); } elseif (!$this->NeedResetPage() && GetApplication()->IsSessionVariableSet($this->GetSessionPrefix() . 'page')) { $this->pageNumber = GetApplication()->GetSessionVariable($this->GetSessionPrefix() . 'page'); } else { $this->ResetPageNumber(); } if (GetApplication()->IsGETValueSet('recperpage')) { $this->rowsPerPage = GetApplication()->GetGETValue('recperpage'); GetApplication()->SetSessionVariable($this->GetSessionPrefix() . 'recperpage', $this->rowsPerPage); } elseif (GetApplication()->IsSessionVariableSet($this->GetSessionPrefix() . 'recperpage')) { $this->rowsPerPage = GetApplication()->GetSessionVariable($this->GetSessionPrefix() . 'recperpage'); } else { $this->rowsPerPage = $this->defaultRowPerPage; } if ($this->pageNumber >= $this->GetPageCount()) { $this->pageNumber = $this->GetPageCount() - 1; } elseif ($this->pageNumber < 0) { $this->pageNumber = 0; } if (!in_array(GetOperation(), $this->ignorePageNavigationOperations)) { if ($this->rowsPerPage != 0 && $this->GetRowCount() != 0) { $this->dataset->SetUpLimit($this->pageNumber * $this->rowsPerPage); $this->dataset->SetLimit($this->rowsPerPage); } } }
/** * @param Renderer $renderer * @return void */ public function Render(Renderer $renderer) { if (GetApplication()->GetSuperGlobals()->IsGetValueSet('term')) { $this->dataset->AddFieldFilter($this->valueField, new FieldFilter('%' . GetApplication()->GetSuperGlobals()->GetGetValue('term') . '%', 'ILIKE', true)); } $this->dataset->Open(); $result = array(); $highLightCallback = Delegate::CreateFromMethod($this, 'ApplyHighlight')->Bind(array(Argument::$Arg3 => $this->valueField, Argument::$Arg4 => GetApplication()->GetSuperGlobals()->GetGetValue('term'))); $this->dataset->SetLimit(20); while ($this->dataset->Next()) { $result[] = array("id" => $this->dataset->GetFieldValueByName($this->idField), "label" => $highLightCallback->Call($this->dataset->GetFieldValueByName($this->valueField), $this->valueField), "value" => $this->dataset->GetFieldValueByName($this->valueField)); } echo SystemUtils::ToJSON($result); $this->dataset->Close(); }
/** * @param Renderer $renderer * @return void */ public function Render(Renderer $renderer) { $params = ArrayWrapper::createGetWrapper(); $term = $params->isValueSet('term') ? $params->getValue('term') : ''; if ($params->isValueSet('term')) { $this->dataset->AddFieldFilter($this->valueField, new FieldFilter('%' . $term . '%', 'ILIKE', true)); } if ($params->isValueSet('id')) { $this->dataset->AddFieldFilter($this->idField, FieldFilter::Equals($params->getValue('id'))); } if ($this->itemCount > 0) { $this->dataset->SetUpLimit(0); $this->dataset->SetLimit($this->itemCount); } $this->dataset->Open(); $result = array(); $highLightCallback = Delegate::CreateFromMethod($this, 'ApplyHighlight')->Bind(array(Argument::$Arg3 => $this->valueField, Argument::$Arg4 => $term)); while ($this->dataset->Next()) { $result[] = array("id" => $this->dataset->GetFieldValueByName($this->idField), "label" => $highLightCallback->Call($this->dataset->GetFieldValueByName($this->valueField), $this->valueField), "value" => $this->dataset->GetFieldValueByName($this->valueField)); } echo SystemUtils::ToJSON($result); $this->dataset->Close(); }