BTesto<T>
BTesto<T> è il controllo di input tipizzato B-Arts per testo, numeri, valuta, data e ora. Supporta binding Blazor, formattazione, conversione tramite le funzioni B-Arts, calendario, help button, autocomplete, accessibilità e controllo del focus.
Tipo generico e binding
| Proprietà | Uso |
|---|---|
Value |
Valore tipizzato T del controllo. |
ValueChanged |
Callback emesso quando cambia il valore. |
ValueExpression |
Espressione opzionale usata dalla validazione standard Blazor. |
Text |
Rappresentazione convertita del contenuto; viene gestita dal controllo. |
Il modo più comune di usare i primi tre parametri è @bind-Value. EditForm non è obbligatorio: è soltanto un'eventuale integrazione standard Blazor.
Scegliere BType coerente con il modello B-Arts: normalmente string, int, double, double?, DateTime o DateTime?. Per conversioni esterne al binding usare BConvert.
Tipi di dato
DataType accetta:
| Valore | Comportamento |
|---|---|
Alfanumerico |
Testo libero secondo MaxLength e CharsAllows. |
Alfabetico |
Input testuale alfabetico gestito dall'interop B-Arts. |
Numerico |
Input numerico non formattato come valuta. |
Valuta |
Numero formattato con BGlobal.FormattaNumero. |
Data |
Data formattata con BGlobal.FormattaData; può usare il calendario. |
Ora |
Ora formattata con BGlobal.FormattaOra. |
L'enum pubblica eJSTipo (NESSUNO, NUMERICO, ALFABETICO) è usata dall'interop interno; nel codice applicativo scegliere normalmente DataType.
Formato del testo e numeri
| Proprietà | Uso |
|---|---|
TextFormat |
NESSUNO, MAIUSCOLO o MINUSCOLO. |
NumDec |
Numero di decimali per Valuta; valore predefinito 2. |
ValutaAcceptNULL |
Se true, il campo valuta vuoto restituisce null; altrimenti restituisce zero. |
MaxLength |
Lunghezza massima dell'input. |
CharsAllows |
Elenco/regola di caratteri ammessi trasmessa al controllo JavaScript. |
Help button e calendario
| Proprietà/evento | Uso |
|---|---|
HelpButton |
Mostra il pulsante laterale. |
TextHelpButton |
Testo o simbolo del pulsante; predefinito .... |
OnHelpButtonClick |
Callback alla pressione del pulsante. |
ActiveCalendarOnHelpButton |
Per un campo Data, apre automaticamente il calendario. |
ShowCalendar() e HideCalendar() controllano il calendario da codice. SetAcitveCalendarOnHelpButton(...) mantiene la grafia effettiva dell'API.
Autocomplete
| Proprietà/evento | Uso |
|---|---|
AutoComplete |
Abilita il completamento automatico. |
AutoCompleteSearch |
Funzione asincrona che riceve il testo e restituisce List<BItem>. |
AutoCompleteMinLength |
Numero minimo di caratteri prima della ricerca; predefinito 2. |
AutoCompleteDelay |
Attesa in millisecondi prima della ricerca; predefinito 300. |
AutoCompleteValue |
Codice del BItem selezionato, distinto dal testo descrittivo. |
AutoCompleteValueChanged |
Callback per il codice selezionato; consente @bind-AutoCompleteValue. |
AutoCompleteCheckValue |
Se true, accetta soltanto un valore risolto dall'elenco. |
AutoCompleteGetItem |
Risolve un BItem partendo da un codice già assegnato. |
ValidateAutoComplete(text) forza la verifica; SelectAutoCompleteItem(index) seleziona un risultato. HideAutoCompleteFromJS() è destinato all'interop e normalmente non va chiamato dall'applicazione.
Focus, navigazione e validazione
| Proprietà/metodo | Uso |
|---|---|
CtlNextFocus |
ID del controllo a cui passare il focus. |
SetCtlNextFocus(id) |
Aggiorna destinazione e interop a runtime. |
SetFocus() |
Porta il focus sull'input. |
SelectAll() |
Seleziona tutto il testo. |
ForceValidateText() |
Forza la validazione/formattazione lato controllo. |
SetValue(text) |
Assegna testo, converte il valore e notifica il binding. |
OnTextChange(...) è pubblico per l'interop JavaScript; nel normale codice Razor usare il binding o SetValue(...). Anche BTesto_HelpButtonClick() è un punto di ingresso dell'interop: il codice applicativo deve collegarsi a OnHelpButtonClick.
Aspetto e accessibilità
| Proprietà | Uso |
|---|---|
Placeholder |
Suggerimento mostrato nell'input. |
AriaLabel |
Etichetta accessibile; predefinita Casella di testo. |
Width, Height |
Dimensioni del contenitore. |
StyleInput |
Stile inline specifico dell'input. |
CssClassInput |
Classe dell'input. |
CssClassContainer |
Classe del contenitore. |
CssClassHelpButton |
Classe del pulsante help. |
CssClassTextHelpButton |
Classe del contenuto del pulsante. |
CssClassCalendarContainer |
Classe del calendario. |
CssClassCalendarContainerRight |
Classe usata per il posizionamento alternativo del calendario. |
CssClassAutoCompleteContainer |
Classe del popup autocomplete. |
CssClassAutoCompleteItem |
Classe di un risultato. |
CssClassAutoCompleteHighlight |
Classe della parte evidenziata del risultato. |
Eredita inoltre da BBaseControl: Id, ClientId, CssClass, Style, Visible, VisibleChanged, Disabled, DisabledChanged e TabIndex.
Configurazione dinamica
Quando la configurazione cambia dopo l'inizializzazione, preferire i metodi pubblici che aggiornano anche rendering o JavaScript:
SetDataType(...)SetTextFormat(...)SetNumDec(...)SetValutaAcceptNULL(...)SetHelpButton(...)SetAcitveCalendarOnHelpButton(...)SetMaxLength(...)SetAutocomplete(...)SetEnabled(...)
Esempi
Vedere BTesto.Examples.md.
<!-- BEGIN GENERATED API -->
Riferimento API completo
Identità
Namespace:
B.BWeb.BControlsAssembly:
BFrameworkWebControlsTipo:
classClasse base:
BBaseJSControlInterfacce:
IAsyncDisposable,IComponent,IHandleAfterRender,IHandleEventSorgente API: versione
5.0.1
Dichiarazione
public class BTesto<BType> : BBaseJSControl, IComponent, IHandleEvent, IHandleAfterRender, IAsyncDisposable
Costruttori
BTesto()
Campi pubblici
Nessun campo pubblico dichiarato.
Proprietà
| Proprietà | Tipo | Accesso |
|---|---|---|
ActiveCalendarOnHelpButton |
bool |
get/set |
AriaLabel |
string |
get/set |
AutoComplete |
bool |
get/set |
AutoCompleteCheckValue |
bool |
get/set |
AutoCompleteDelay |
int |
get/set |
AutoCompleteGetItem |
Func<string, Task<BItem>> |
get/set |
AutoCompleteMinLength |
int |
get/set |
AutoCompleteSearch |
Func<string, Task<List<BItem>>> |
get/set |
AutoCompleteValue |
string |
get/set |
AutoCompleteValueChanged |
EventCallback<string> |
get/set |
CharsAllows |
string |
get/set |
CssClassAutoCompleteContainer |
string |
get/set |
CssClassAutoCompleteHighlight |
string |
get/set |
CssClassAutoCompleteItem |
string |
get/set |
CssClassCalendarContainer |
string |
get/set |
CssClassCalendarContainerRight |
string |
get/set |
CssClassContainer |
string |
get/set |
CssClassHelpButton |
string |
get/set |
CssClassInput |
string |
get/set |
CssClassTextHelpButton |
string |
get/set |
CtlNextFocus |
string |
get/set |
DataType |
eDataType<BType> |
get/set |
Height |
string |
get/set |
HelpButton |
bool |
get/set |
MaxLength |
int |
get/set |
NumDec |
byte |
get/set |
OnHelpButtonClick |
EventCallback |
get/set |
Placeholder |
string |
get/set |
StyleInput |
string |
get/set |
Text |
object |
get |
TextFormat |
eTextFormat<BType> |
get/set |
TextHelpButton |
string |
get/set |
Value |
BType |
get/set |
ValueChanged |
EventCallback<BType> |
get/set |
ValueExpression |
Expression<Func<BType>> |
get/set |
ValutaAcceptNULL |
bool |
get/set |
Width |
string |
get/set |
Callback Blazor
AutoCompleteValueChanged:EventCallback<string>OnHelpButtonClick:EventCallbackValueChanged:EventCallback<BType>
Eventi CLR
Nessun evento CLR pubblico dichiarato.
Metodi
void BTesto_HelpButtonClick()Task ForceValidateText()void HideAutoCompleteFromJS()void HideCalendar()Task OnTextChange(string args)Task SelectAll()Task SelectAutoCompleteItem(int Index)void SetAcitveCalendarOnHelpButton(bool value)Task SetAutocomplete(bool NewValue, Func<string, Task<List<BItem>>> NewSearch = null, int NewMinLength = 2, int NewDelay = 300, bool NewCheckValue = false, Func<string, Task<BItem>> NewGetItem = null)Task SetCtlNextFocus(string NewValue)Task SetDataType(eDataType<BType> dataType, bool ReInitControl = true)void SetEnabled(bool enabled)Task SetFocus()void SetHelpButton(bool value)void SetMaxLength(int NewValue)Task SetNumDec(byte dec)Task SetTextFormat(eTextFormat<BType> format, bool ReInitControl = true)Task SetValue(string NewText)Task SetValutaAcceptNULL(bool AcceptNULL)Task ShowCalendar()Task ValidateAutoComplete(string NewText)
Tipi annidati pubblici
eDataType
Alfanumerico=0Alfabetico=1Numerico=2Valuta=3Data=4Ora=5
eJSTipo
NESSUNO=0NUMERICO=1ALFABETICO=2
eTextFormat
NESSUNO=0MAIUSCOLO=1MINUSCOLO=2
Membri B-Arts ereditati
Proprietà da
BBaseControl:string ClientId { get; }Proprietà da
BBaseControl:string CssClass { get; set; }Proprietà da
BBaseControl:bool Disabled { get; set; }Proprietà da
BBaseControl:EventCallback<bool> DisabledChanged { get; set; }Proprietà da
BBaseControl:string Id { get; set; }Proprietà da
BBaseControl:string Style { get; set; }Proprietà da
BBaseControl:int TabIndex { get; set; }Proprietà da
BBaseControl:bool Visible { get; set; }Proprietà da
BBaseControl:EventCallback<bool> VisibleChanged { get; set; }Metodo da
BBaseControl:Task SetDisabled(bool disabled)Metodo da
BBaseControl:Task SetVisible(bool visible)Metodo da
BBaseJSControl:void BJSControlIsInitialized()Metodo da
BBaseJSControl:ValueTask DisposeAsync()
