Example #1
0
 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();
 }