135 messaggi dal 01 novembre 2012
Gent.mi,

da giorni sono dietro senza ottenere un risultato per una operazione che potrebbe essere banale e chiedo un suggerimento.

In una TextBox, inserisco un numero decimale che dovrebbe essere diviso in otto parti ed il risultato dovrebbe essere inserito in altre 8 TextBox.

Ho 2 variabili:
int n = 8, y;
y = TextBox1.Text/n;


non riesco a completare per l'inserimento del for.

Auguro che possiate suggerire, fiducioso saluto.
Domenico.
196 messaggi dal 12 febbraio 2016
Ciao Domenico,
non è molto chiara la domanda.
L'inserimento del dato nella textbox vorresti farla tramite un ciclo for?
135 messaggi dal 01 novembre 2012
Gernt.mo Piero92,

Ringrazio della disponibilità e tempestività.

Francamente non so come si può fare, penso che sia
meglio con il for.

Domenico.
196 messaggi dal 12 febbraio 2016
Ecco un esempio per dividere un importo in decimal
decimal importo = decimal.Parse(TextBox1.Text);
decimal dividendo = 8m;
decimal importoTextBox = importo / dividendo;
TextBox2.Text = importoTextBox.ToString();




tramite un ciclo for potresti anche farlo ma devi per ogni item recuperare ogni singola TextBox
135 messaggi dal 01 novembre 2012
Gent.mo Piero92,

sono a ringraziare soprattutto per la tempestività.

Funziona, devo ripetere per 8 volte:

TextBox2.Text = importoTextBox.ToString();
TextBox3.Text = importoTextBox.ToString();
ecc.


per 8 TextBox potrebbe andare e se sono per es. 20?
non sarebbe meglio inserire un for?

Mi scuso.
Domenico.
196 messaggi dal 12 febbraio 2016
Supponendo che tutte le TextBox abbiano l'ID di questo formato "TextBoxXXX" dove XXX sia un numero che parte da 1 e arriva a 8,
ecco un esempio per impostare il valore tramite un ciclo for:




        for (int i = 0; i < (int)dividendo; i++)
        {
            TextBox tb = Page.FindControl("TextBox" + (i + 1)) as TextBox;
            tb.Text = importoTextBox.ToString();
        }



Modificato da piero92 il 12 aprile 2024 12:14 -
135 messaggi dal 01 novembre 2012
Gent.mo Piero92,

sono a ringraziare e sono mortificato per il disturbo che arreco.

l'operazione con il for funziona perfettamente anche se presenta due errori alla riga:
TextBox tb = Page.FindControl("TextBox" + (i + 1)) as TextBox;

Le TextBox e a FindControl, presenta con una riga in rosso

Alle TextBox ho inserito:

System.Windows.Forms.TextBox tb mentre a FindControl permane l'errore sottolineato sempre con una linea rossa.

for (int i = 0; i < (int)dividendo; i++)
{
    //TextBox tb = Page.FindControl("TextBox" + (i + 1)) as TextBox;
    System.Windows.Forms.TextBox tb = Page.FindControl("TextBox" + (i + 1)) as System.Windows.Forms.TextBox;
    tb.Text = importoTextBox.ToString("#,##0.00");
}


Rinnovo le scuse, fiducioso saluto.
Domenico
196 messaggi dal 12 febbraio 2016
Quindi non sei sul web?
A questo punto anziché usare l'oggetto Page, usa l'ID del controllo padre (Grid, windows, ecc)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.