none
Unir 4 textbox incluyendo vacios RRS feed

  • Pregunta

  • Tengo un problema por presentacion.

    Si tengo 4 textbox o mas pero de os cuales solo 2 lleno de dato

    Text1= BPA

    tEXT2= BSR

    TEXT3 = 

    tEXT4=

    Entonces si los junto separados x coma va salir 

    BPA,BSR,,

    Pretendo que solo salga BPA,BSR. y si tiene campos vacios ya no sean tomados como solucionar eso.

     txtAnalisis.Text = txtA1.Text & "," & txtA2.Text & "," & txtA3.Text & "," & txtA4.Text

    Saludos

    lunes, 12 de marzo de 2018 4:35

Respuestas

  • Puedes quitar los signos de coma del final de la cadena mediante la función TrimEnd(), por ejemplo:

    txtAnalisis.Text = $"{Text1.Text},{Text2.Text},{Text3.Text},{Text4.Text}".TrimEnd(","c)

    • Marcado como respuesta Javier Roque lunes, 12 de marzo de 2018 14:41
    lunes, 12 de marzo de 2018 4:53
  • Es un problema demasiado sencillo como para que no puedas obtener el resultado que esperas siguiendo las sugerencias que se te otorga, en definitiva, algo no haces bien cuando intentas aplicar los consejos en tú código.

     txtAnalisis.Text = (txtA1.Text & "," & txtA2.Text & "," & txtA3.Text).TrimEnd(","c)

    Imagino encierras entre paréntesis la expresión de concatenación para que la función TrimEnd() aplique sobre la cadena resultante, ¿verdad?. Si continuas sin obtener el resultado que esperas te agradeceré adjuntes el código que has escrito.

    • Marcado como respuesta Javier Roque lunes, 12 de marzo de 2018 14:41
    lunes, 12 de marzo de 2018 14:29

Todas las respuestas

  • Puedes quitar los signos de coma del final de la cadena mediante la función TrimEnd(), por ejemplo:

    txtAnalisis.Text = $"{Text1.Text},{Text2.Text},{Text3.Text},{Text4.Text}".TrimEnd(","c)

    • Marcado como respuesta Javier Roque lunes, 12 de marzo de 2018 14:41
    lunes, 12 de marzo de 2018 4:53
  • Dim sb As New StringBuilder
    Dim casillas as New List<Of TextBox>
    
    //Seguramente en VB.net hay una sintaxis más sencilla para crear una lista de casillas.
    casillas.Add(txtA1)
    casillas.Add(txtA2)
    casillas.Add(txtA3)
    casillas.Add(txtA3)
    
    For Each txt In casillas
        If (!String.IsNullOrWhiteSpace(txt.Text)) Then
            sb.Append(",").Append(txt.Text)
        End If
    Next
    txtAnalisis.Text = sb.ToString(1, sb.Length - 1)


    Jose R. MCP
    Code Samples

    lunes, 12 de marzo de 2018 5:00
    Moderador
  • Bueno he probado ese trimend y no veo la diferencia. Aun salen las demas comas, en realidad son 20 cajas de textbox de las cuales yo selecciono la fila del datagridview pero el resultado de eso es agrupar estos contenidos por comas si hay mas ya no salgan las demas comas si tengo 5 cajas de textbox que cuentan con contenido entonces y las 15 nada el resultado es or ejemplo

    texto1,texto2,texto3,texto4,texto5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

    justamente quiero obivar esas comas y quede  texto1,texto2,texto3,texto4,texto5 

    Saludos

    lunes, 12 de marzo de 2018 14:13
  • No puedo probar Sr Jose lo que me menciona ya que la linea de declaracion me dice se esperaba fin de instruccion

    Dim casillas as New List<Of TextBox>
    Y bueno como sabra son 20 casilleros es extenso

    lunes, 12 de marzo de 2018 14:24
  • Es un problema demasiado sencillo como para que no puedas obtener el resultado que esperas siguiendo las sugerencias que se te otorga, en definitiva, algo no haces bien cuando intentas aplicar los consejos en tú código.

     txtAnalisis.Text = (txtA1.Text & "," & txtA2.Text & "," & txtA3.Text).TrimEnd(","c)

    Imagino encierras entre paréntesis la expresión de concatenación para que la función TrimEnd() aplique sobre la cadena resultante, ¿verdad?. Si continuas sin obtener el resultado que esperas te agradeceré adjuntes el código que has escrito.

    • Marcado como respuesta Javier Roque lunes, 12 de marzo de 2018 14:41
    lunes, 12 de marzo de 2018 14:29
  • xD Disculpa no vi eso de los paréntesis como estaban con } 
    lunes, 12 de marzo de 2018 14:41