Jump to content

Recommended Posts

Posted

А можно как-то у компоненты UniDBLookupComboBox/UnimDBLookupComboBox реализовать такую же возможность, как и у TUnimEdit со свойством EmptyText?

 

 

Posted

А вот у uniM На букву E есть только одно свойство - Enabled

Screenshot_73.jpg

Posted

Ещё у UnimDBLookupComboBox  в событиях OnRemoteQuery и OnGetKeyValue не хватает параметра sender: TObject

Поэтому на данный момент для всех лежащих на форме TUnimDBLookupComboBox приходится создавать отдельные события, вместо того, чтобы создать одно событие для всех этих компонент.

Posted
20 hours ago, x11 said:

UnimDBLookupComboBox реализовать такую же возможность, как и у TUnimEdit со свойством EmptyText?

 

19 hours ago, Sherzod said:

Да, в ExtJS 7.0.0 Modern это свойство не реализовано. 

Вы можете использовать этот конфиг:

procedure TMainmForm.UniFormCreate(Sender: TObject);
begin
  UnimDBLookupComboBox1.JSInterface.JSConfig('placeholder', ['EmptyText']);

end;

 

  • Like 2
Posted

Отлично.

Будем надеяться, разработчики добавят это свойство в TUnimDBLookupComboBox:cool:

  • Like 1
Posted
4 hours ago, Sherzod said:

Вы можете использовать этот конфиг:

 

Усложняем.

А можно ли в placeholder выводить иконку шрифта?

<i class="fas fa-walking"></i>

Если да, то как?

А то выводится текст, как он есть вместо иконки.

Screenshot_16.jpg

Posted

@Sherzod извините, я так и не понял, что именно надо сделать со списком?

Какие свойства и какие там значение?

Posted

Ну я вижу что у вас есть иконка, а у меня выводится <i class="fas fa-walking"></i>  вместо иконки

Posted
comboSubway.JSInterface.JSConfig('placeholder', ['<i class="fas fa-walking"></i> метро']);

 

Screenshot_19.jpg

Posted
35 minutes ago, x11 said:

comboSubway.JSInterface.JSConfig('placeholder', ['<i class="fas fa-walking"></i> метро']);

 

procedure TMainmForm.UniFormCreate(Sender: TObject);
begin
  with UnimDBLookupComboBox1 do
  begin
    JSInterface.JSAddListener('painted', 'function(){this.inputElement.setStyle("font-family", "FontAwesome")}');
    JSInterface.JSConfig('placeholder', [#$f002 +' Search']);
  end;

end;

 

  • Like 1
Posted
4 minutes ago, Sherzod said:

#$f002

Подскажите, если передавать это в качестве параметра, то какой это тип в Delphi? Char, WideChar?

Posted

Всё, получилось, спасибо

SetPlaceholderCombo('метро ', #$f002, comboSubway);



procedure TfmmParentAparts.SetPlaceholderCombo(const placeholder: string; icon: char; combo: TunimDBLookupCombobox);
begin
  combo.JSInterface.JSAddListener('painted', 'function(){this.inputElement.setStyle("font-family", "FontAwesome")}');
  combo.JSInterface.JSConfig('placeholder', [icon + ' ' + placeholder]);
end;

 

  • Like 1
Posted

Чтобы "сохранить" шрифты, используйте такой код:

  with UnimDBLookupComboBox1 do
  begin
    JSInterface.JSAddListener('painted', 'function(){this.inputElement.setStyle("font-family", this.inputElement.getStyle("font-family") + ", FontAwesome")}');
    JSInterface.JSConfig('placeholder', [#$f002 +' Search']);
  end;

 

  • Like 1
  • Happy 1
Posted

Подскажите, почему некоторые иконки не отображаются?

Например,  вот

https://fontawesome.com/icons/sign?style=solid

https://fontawesome.com/icons/map-marker-alt?style=solid

 

код такой же, как и для других списков
 

  SetPlaceholderCombo('вулиця', #$f4d9, comboStreets);
  SetPlaceholderCombo('район', #$f3c5, comboRegions);


procedure SetPlaceholderCombo(const placeholder: string; icon: char; combo: TuniCustomCombobox);
begin
  combo.JSInterface.JSAddListener('painted', 'function(){this.inputElement.setStyle("font-family", this.inputElement.getStyle("font-family") + ", FontAwesome")}');
  combo.JSInterface.JSConfig('placeholder', [icon + ' ' + placeholder]);
end;

 

Screenshot_34.jpg

Posted
15 minutes ago, x11 said:

Подскажите, почему некоторые иконки не отображаются?

А если попробуете использовать только иконки FontAwesome4?

Posted

А версию 5 не получится использовать?

 

А там уже и версия 6 скоро выйдет....

Posted

В общем, я придумал пока что вот так.

В свойство FieldLabel я вставляю значение <i class="fas fa-subway"></i>

В свойство FieldLabelWidth я указываю 7 (процентов).

А placeholder заполняю без иконки

procedure SetPlaceholderCombo(const placeholder: string; combo: TuniCustomCombobox);
begin
  combo.JSInterface.JSConfig('placeholder', [placeholder]);
end;

 

Screenshot_36.jpg

  • Like 1
Posted
8 minutes ago, x11 said:

В общем, я придумал пока что вот так.

Это тоже правильное решение на мой взгляд.

  • Like 1
  • 2 months later...
Posted

Усложняем.

А как получить этот placeholder?

Начало здесь

Ради экономии места на мобильной форме, иногда нет смысла выводить все названия. Но вдруг пользователь не поймет или забудет - что это за список или элемент ввода.

К сожалению у TUnimDBLookupComboBox нет свойства EmptyText :(

Спасибо.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...