Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [VB] Indicizzare i textbox

    ciao,
    io ho 7 textbox
    partendo da dei valori che ho, devo riempire i miei textbox

    questi si chiamano cosi:
    txt1
    txt2
    txt3
    ...ecc

    io vorrei fare una cosa del genere

    for i=0 to 5
    txt(i).text="ciao"



    come posso fare una cosa del genere?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    è 1 problema in cui mi sono imbattuto ank'io .. e non sono venuto + fuori

    avevo provato a fare
    Dim txt & i As Textbox
    ma non era venuto fuori niente (forse xkè erano presenti un altro paio di errori)
    se vuoi prova, xò credo al 99% ke non andrà

  3. #3
    Al corso di VB.NET che ho fatto, ho provato anch'io a fare una cosa del genere ma il prof. ha detto che non si poteva fare
    Ciao


    Marco

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Non credo che sia questo, è troppo facile:
    codice:
    Dim i%
    
    For i = 1 To 8
        Dim a$ = "TextBox" & i
        Dim t As TextBox = DirectCast(Me.FindControl(a), TextBox)
        If Not (t Is Nothing) Then
    	t.Text = "Text box " & t.UniqueID
        End If
    
    Next
    End Sub

    per sms:

    Dim txt & i As Textbox

    NON CI CREDO CHE HAI FATTO UN TENTATIVO SIMILE
    Pietro

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    NON CI CREDO CHE HAI FATTO UN TENTATIVO SIMILE
    dopo 2 settimane fermo allo stesso punto, sì ci ho provato..
    ho provato pure a buttarmi dal 6^ piano, se è x questo

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    204
    Originariamente inviato da [-MaRcO3-]
    Al corso di VB.NET che ho fatto, ho provato anch'io a fare una cosa del genere ma il prof. ha detto che non si poteva fare
    Ciao

    Marco
    Quel professore viene anche pagato per dire queste cose?

    Il codice suggerito da Pietro09 è corretto. Anche senza cicli è possibile:
    codice:
    dim tx as TextBox
    tx=DirectCast(Page.FindControl("TextBox1"),TextBox)
    tx.Text="Testo che vuoi"
    tx=DirectCast(Page.FindControl("TextBox2"),TextBox)
    tx.Text="Testo che vuoi"
    ...
    Solo se i vari textbox o control sono all'interno di datagrid o user control questa sintassi non funziona.

    Ciao

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    A dire la verità, non ho mai capito perchè ci si ostini ad utilizzare un ciclo per, per esempio, riempire dei textbox.
    Secondo me, bisognerebbe evitare tecniche esotiche ed utilizzare una programmazione più semplice.

    Per esempio, se dovessi costruirmi una serie di Button o textbox, non utilizzerei questa tecnica, ma li costruirei da programma, creando un vettore di button o un vettore di textbox...

    Comunque, ognuno ha se sue esigenze

    per sms: naturalmente scherzavo
    Pietro

  8. #8
    interessante...
    mi faresti vedere come creare un vettore di textbox (7)

    e poi la procedura inversa per leggere sempre questo vettore?


    grazie mille.

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    In questo momento sto per spegnere il computer. Domani cerco un poco di codice e lo mando.

    Ciao
    Pietro

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ho trovato questo esempio: creare textbox in modo dinamico. Non so se faccia al tuo caso
    codice:
    <%@ Page Language="vb" AutoEventWireup="false" Codebehind="aggiungi textbox da comando.aspx.vb" Inherits="corso_apogeo.aggiungi_textbox_da_comando"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    	<HEAD>
    		<title>a</title>
    		<meta content="Microsoft Visual Studio.NET 7.0" name="GENERATOR">
    		<meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
    		<meta content="JavaScript" name="vs_defaultClientScript">
    		<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    		<LINK rel="stylesheet" type="text/css" href="http://localhost/corso_apogeo/Stile.css">
    	</HEAD>
    	<body MS_POSITIONING="FlowLayout">
    		<form id="Form1" method="post" runat="server">
    			
    
    <asp:button id="Button1" runat="server" Text="Aggiungi TextBox"></asp:button>
    				<asp:button id="Button2" runat="server" Text="Fai un PostBack"></asp:button></P>
    			
    
    <asp:placeholder id="PlaceHolder1" runat="server"></asp:placeholder></P>
    		</form>
    	</body>
    </HTML>

    codice:
        Private NumeroTxtBox%
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            If Me.IsPostBack Then
                If Me.ViewState("NumeroTxtBox") Is Nothing Then
                    NumeroTxtBox = 0
                Else
                    NumeroTxtBox = System.Convert.ToInt32(Me.ViewState("NumeroTxtBox"))
                End If
                RipristinaTextBox()
            End If
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            NumeroTxtBox += 1 'PrintLn(NumeroTxtBox, "NumeroTxtBox")
            AggiungiTextBox()
            Me.ViewState("NumeroTxtBox") = NumeroTxtBox
        End Sub
    
        Private Sub AggiungiTextBox(Optional ByVal n% = -1)
            Dim IdTextBox$
            Dim tb As TextBox
            IdTextBox = "txt_" & IIf(n = -1, NumeroTxtBox, n).ToString
            tb = New TextBox()
            Me.PlaceHolder1.Controls.Add(New LiteralControl("
    
    "))
            tb.ID = IdTextBox
            tb.Text = Request.Params(tb.ID)
            tb.Attributes.Add("style", "border:1px maroon solid;")
            Me.PlaceHolder1.Controls.Add(tb)
    
            Me.PlaceHolder1.Controls.Add(New LiteralControl("</p>"))
    
        End Sub
    
        Private Sub RipristinaTextBox()
            Dim i%
            For i = 1 To NumeroTxtBox
                AggiungiTextBox(i)
            Next
    
        End Sub
    
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            'semplice postback
        End Sub
    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.