Visual Basic.NET - Concatenar solo los textbox que tengan algun contenido

   
Vista:

Concatenar solo los textbox que tengan algun contenido

Publicado por ChristianGEO (2 intervenciones) el 16/08/2011 17:39:46
Hola buenas tardes.
Espero me puedan ayudar con algun codigo de ejemplo sobre este tema.

Mi caso es este:
Dentro de un GroupBox tenguo 12 TextBox en estos textbox se escriben diversos datos de los cuales quiero concatenarlos (separados uno de otros con comas) y formar con ellos un párrafo pero no en todos los textbox se llega a escribir algo es por eso que solo necesito concatenar los que tienen contenido. haciendolo de la forma mas sencilla y común me quedaria algo así.

Textbox1, Textbox2, Textbox3, Textbox4, , , , Textbox8, , , Textbox11, , .

Se dan cuenta las comas que estorban :( . bueno fasilmente podría escribir todo el párrafo en un solo textbox pero esa no es la idea.

Gracias por su ayuda
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Concatenar solo los textbox que tengan algun contenido

Publicado por Joan B. Fabregas (129 intervenciones) el 17/08/2011 16:27:35
Hola,

Seria algo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Dim textoParrafo As String = ""
 
        textoParrafo = Me.TextBox1.Text
        If Me.TextBox2.Text.Length > 0 Then
            If textoParrafo.Length > 0 Then textoParrafo &= ","
            textoParrafo &= TextBox2.Text
        End If
        If Me.TextBox3.Text.Length > 0 Then
            If textoParrafo.Length > 0 Then textoParrafo &= ","
            textoParrafo &= TextBox3.Text
        End If
        '...
        If Me.TextBox12.Text.Length > 0 Then
            If textoParrafo.Length > 0 Then textoParrafo &= ","
            textoParrafo &= TextBox12.Text
        End If
 
        'Ponemos el "." final
        If textoParrafo.Length > 0 Then textoParrafo &= "."


En todo caso, para no escribir tanto código, si tienes los textbox dentro de un GroupBox (llamemosle GroupBox1), también se puede hacer de la forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim textoParrafo As String = ""
 
        For numTextBox As Integer = 1 To 12
            If Me.GroupBox1.Controls.ContainsKey("TextBox" & numTextBox) Then
                If Me.GroupBox1.Controls("TextBox" & numTextBox).Text.Length > 0 Then
                    If numTextBox > 1 Then  'para saltar el primer textbox i no poner una coma delante de todo
                        If textoParrafo.Length > 0 Then textoParrafo &= ","
                    End If
                    textoParrafo &= Me.GroupBox1.Controls("TextBox" & numTextBox).Text
                End If
            End If
        Next
        'Ponemos el "." final
        If TextoParrafo.Length > 0 Then TextoParrafo &= "."


Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Concatenar solo los textbox que tengan algun contenido

Publicado por ChristianGEO (2 intervenciones) el 19/08/2011 22:57:42
Gracias amigo te pasastes.

Saludos
:D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar