/** * @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(); }
public function Render(Renderer $renderer) { $result = array(); $this->dataset->AddFieldFilter($this->captionFieldName, FieldFilter::Contains($this->globals->GetGetValue(self::SearchTermParamName))); $highLightCallback = Delegate::CreateFromMethod($this, 'ApplyHighlight')->Bind(array(Argument::$Arg3 => $this->captionFieldName, Argument::$Arg4 => $this->globals->GetGetValue(self::SearchTermParamName))); if (!StringUtils::IsNullOrEmpty($this->parentIdFieldName) && $this->globals->IsGetValueSet(self::ParentParamName)) { $this->dataset->AddFieldFilter($this->parentIdFieldName, FieldFilter::Equals($this->globals->GetGetValue(self::ParentParamName))); } $this->dataset->Open(); while ($this->dataset->Next()) { $result[] = array('id' => $this->dataset->GetFieldValueByName($this->idFieldName), 'value' => $this->dataset->GetFieldValueByName($this->captionFieldName), 'label' => $highLightCallback->Call($this->dataset->GetFieldValueByName($this->captionFieldName), $this->captionFieldName)); } $this->dataset->Close(); echo SystemUtils::ToJSON($result); }
protected function AddInsertColumns(Grid $grid) { // // Edit column for username field // $editor = new TextEdit('username_edit'); $editor->SetSize(50); $editor->SetMaxLength(50); $editColumn = new CustomEditColumn('Username', 'username', $editor, $this->dataset); $validator = new RequiredValidator(StringUtils::Format($this->GetLocalizerCaptions()->GetMessageString('RequiredValidationMessage'), $this->RenderText($editColumn->GetCaption()))); $editor->GetValidatorCollection()->AddValidator($validator); $this->ApplyCommonColumnEditProperties($editColumn); $grid->AddInsertColumn($editColumn); // // Edit column for email field // $editor = new TextEdit('email_edit'); $editor->SetSize(50); $editor->SetMaxLength(50); $editColumn = new CustomEditColumn('Email', 'email', $editor, $this->dataset); $validator = new RequiredValidator(StringUtils::Format($this->GetLocalizerCaptions()->GetMessageString('RequiredValidationMessage'), $this->RenderText($editColumn->GetCaption()))); $editor->GetValidatorCollection()->AddValidator($validator); $this->ApplyCommonColumnEditProperties($editColumn); $grid->AddInsertColumn($editColumn); // // Edit column for password field // $editor = new TextEdit('password_edit'); $editor->SetPasswordMode(true); $editColumn = new CustomEditColumn('Password', 'password', $editor, $this->dataset); $validator = new RequiredValidator(StringUtils::Format($this->GetLocalizerCaptions()->GetMessageString('RequiredValidationMessage'), $this->RenderText($editColumn->GetCaption()))); $editor->GetValidatorCollection()->AddValidator($validator); $this->ApplyCommonColumnEditProperties($editColumn); $grid->AddInsertColumn($editColumn); // // Edit column for dept_id field // $editor = new ComboBox('dept_id_edit', $this->GetLocalizerCaptions()->GetMessageString('PleaseSelect')); $lookupDataset = new TableDataset(new MyConnectionFactory(), GetConnectionOptions(), '`department`'); $field = new IntegerField('DEPT_ID', null, null, true); $field->SetIsNotNull(true); $lookupDataset->AddField($field, true); $field = new StringField('DEPARTMENT'); $field->SetIsNotNull(true); $lookupDataset->AddField($field, false); $field = new IntegerField('MANAGER'); $field->SetIsNotNull(true); $lookupDataset->AddField($field, false); $field = new IntegerField('DIRECTOR'); $field->SetIsNotNull(true); $lookupDataset->AddField($field, false); $field = new StringField('LOCATION'); $field->SetIsNotNull(true); $lookupDataset->AddField($field, false); $field = new StringField('PHONE_NO'); $field->SetIsNotNull(true); $lookupDataset->AddField($field, false); $lookupDataset->SetOrderBy('DEPARTMENT', GetOrderTypeAsSQL(otAscending)); $editColumn = new LookUpEditColumn('Department', 'dept_id', $editor, $this->dataset, 'DEPT_ID', 'DEPARTMENT', $lookupDataset); $validator = new RequiredValidator(StringUtils::Format($this->GetLocalizerCaptions()->GetMessageString('RequiredValidationMessage'), $this->RenderText($editColumn->GetCaption()))); $editor->GetValidatorCollection()->AddValidator($validator); $this->ApplyCommonColumnEditProperties($editColumn); $grid->AddInsertColumn($editColumn); // // Edit column for position field // $editor = new TextEdit('position_edit'); $editor->SetSize(50); $editor->SetMaxLength(50); $editColumn = new CustomEditColumn('Position', 'position', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $grid->AddInsertColumn($editColumn); // // Edit column for emp_number field // $editor = new TextEdit('emp_number_edit'); $editor->SetSize(20); $editor->SetMaxLength(20); $editColumn = new CustomEditColumn('Employee No', 'emp_number', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $grid->AddInsertColumn($editColumn); // // Edit column for picture field // $editor = new ImageUploader('picture_edit'); $editor->SetShowImage(true); $editColumn = new UploadFileToFolderColumn('Picture', 'picture', $editor, $this->dataset, false, false, 'images'); $editColumn->OnCustomFileName->AddListener('picture_GenerateFileName_insert', $this); $editColumn->SetReplaceUploadedFileIfExist(true); $editColumn->SetGenerationImageThumbnails('picture', 'images', Delegate::CreateFromMethod($this, 'picture_Thumbnail_GenerateFileName_insert'), new ImageFitByHeightResizeFilter(100)); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $grid->AddInsertColumn($editColumn); if ($this->GetSecurityInfo()->HasAddGrant()) { $grid->SetShowAddButton(true); $grid->SetShowInlineAddButton(false); } else { $grid->SetShowInlineAddButton(false); $grid->SetShowAddButton(false); } }
/** * @param Renderer $renderer * @return void */ public function Render(Renderer $renderer) { /** @var string $term */ $term = ''; if ($this->GetSuperGlobals()->IsGetValueSet('term')) { $term = $this->GetSuperGlobals()->GetGetValue('term'); } if (!StringUtils::IsNullOrEmpty($term)) { $this->dataset->AddFieldFilter($this->valueField, new FieldFilter('%' . $term . '%', 'ILIKE', true)); } header('Content-Type: text/html; charset=utf-8'); $this->dataset->Open(); $result = array(); $valueCount = 0; $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), "value" => StringUtils::IsNullOrEmpty($this->captionTemplate) ? $this->dataset->GetFieldValueByName($this->valueField) : DatasetUtils::FormatDatasetFieldsTemplate($this->dataset, $this->captionTemplate, $highLightCallback)); if ($valueCount >= 20) { break; } } echo SystemUtils::ToJSON($result); $this->dataset->Close(); }
protected function AddInsertColumns(Grid $grid) { // // Edit column for username field // $editor = new TextEdit('username_edit'); $editor->SetSize(50); $editor->SetMaxLength(50); $editColumn = new CustomEditColumn('Username', 'username', $editor, $this->dataset); $validator = new RequiredValidator(StringUtils::Format($this->GetLocalizerCaptions()->GetMessageString('RequiredValidationMessage'), $this->RenderText($editColumn->GetCaption()))); $editor->GetValidatorCollection()->AddValidator($validator); $this->ApplyCommonColumnEditProperties($editColumn); $grid->AddInsertColumn($editColumn); // // Edit column for email field // $editor = new TextEdit('email_edit'); $editor->SetSize(50); $editor->SetMaxLength(50); $editColumn = new CustomEditColumn('Email', 'email', $editor, $this->dataset); $validator = new RequiredValidator(StringUtils::Format($this->GetLocalizerCaptions()->GetMessageString('RequiredValidationMessage'), $this->RenderText($editColumn->GetCaption()))); $editor->GetValidatorCollection()->AddValidator($validator); $this->ApplyCommonColumnEditProperties($editColumn); $grid->AddInsertColumn($editColumn); // // Edit column for password field // $editor = new TextEdit('password_edit'); $editor->SetPasswordMode(true); $editColumn = new CustomEditColumn('Password', 'password', $editor, $this->dataset); $validator = new RequiredValidator(StringUtils::Format($this->GetLocalizerCaptions()->GetMessageString('RequiredValidationMessage'), $this->RenderText($editColumn->GetCaption()))); $editor->GetValidatorCollection()->AddValidator($validator); $this->ApplyCommonColumnEditProperties($editColumn); $grid->AddInsertColumn($editColumn); // // Edit column for dept_id field // $editor = new ComboBox('dept_id_edit', $this->GetLocalizerCaptions()->GetMessageString('PleaseSelect')); $editColumn = new CustomEditColumn('Department', 'dept_id', $editor, $this->dataset); $validator = new RequiredValidator(StringUtils::Format($this->GetLocalizerCaptions()->GetMessageString('RequiredValidationMessage'), $this->RenderText($editColumn->GetCaption()))); $editor->GetValidatorCollection()->AddValidator($validator); $this->ApplyCommonColumnEditProperties($editColumn); $grid->AddInsertColumn($editColumn); // // Edit column for position field // $editor = new TextEdit('position_edit'); $editor->SetSize(50); $editor->SetMaxLength(50); $editColumn = new CustomEditColumn('Position', 'position', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $grid->AddInsertColumn($editColumn); // // Edit column for emp_number field // $editor = new TextEdit('emp_number_edit'); $editor->SetSize(20); $editor->SetMaxLength(20); $editColumn = new CustomEditColumn('Employee No', 'emp_number', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $grid->AddInsertColumn($editColumn); // // Edit column for picture field // $editor = new ImageUploader('picture_edit'); $editor->SetShowImage(true); $editColumn = new UploadFileToFolderColumn('Picture', 'picture', $editor, $this->dataset, false, false, 'images'); $editColumn->OnCustomFileName->AddListener('picture_GenerateFileName_insert', $this); $editColumn->SetReplaceUploadedFileIfExist(true); $editColumn->SetGenerationImageThumbnails('picture', 'images', Delegate::CreateFromMethod($this, 'picture_Thumbnail_GenerateFileName_insert'), new ImageFitByHeightResizeFilter(100)); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $grid->AddInsertColumn($editColumn); if ($this->GetSecurityInfo()->HasAddGrant()) { $grid->SetShowAddButton(true); $grid->SetShowInlineAddButton(false); } else { $grid->SetShowInlineAddButton(false); $grid->SetShowAddButton(false); } }