none
Crear txt desde DataGridView en VB.NET RRS feed

  • Pregunta

  • Saludos expertos,

    Una nueva consulta para ustedes... Como dice el titulo, necesito crear un txt desde un Datagrid, esto lo consigo realizar, pero tengo que dar formato a los campos que se van a agregar al txt.

    Me explico, cada campo del grid debe alcanzar una longitud x en el txt y si el registro no alcanza la longitud, entonces debe completarse con ceros a la izquierda o con espacios en blanco y esta es la parte que no consigo realizar. El grid tiene 10 columnas y debo decirle que si la columna X que debe tener una longitud de 20 espacios solo llega a 14 que le agregue a la izquierda los 6 espacios en blanco o con ceros (0) para que en el TXT aparezca con los 20 espacios.

    Esto debo hacerlo a las 10 columnas no importa la cantidad de registros que tenga la grilla.

    Desde ya agradezco sus aportes.

    miércoles, 30 de enero de 2013 21:44

Respuestas

  • Hola:
    En un Form con 1 Button, 1 TextBox y 2 Label, copia y pega el siguiente codigo

    Public Class Form1

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Me.Label1.Text = Me.TextBox1.Text.PadLeft(20, "0")
            Me.Label2.Text = Me.TextBox1.Text.PadLeft(20, " ")
        End Sub
    End Class

    Un saludo desde Bilbo
    Carlos

    • Marcado como respuesta soyeddygh lunes, 18 de febrero de 2013 14:55
    jueves, 31 de enero de 2013 8:40
  • Gracias Carlos pero necesito realizar la operacion con un grid, no con textbox. porque no es un registro son varias, y la cantidad de registros puede cambiar dependiente del usuario.
    • Marcado como respuesta soyeddygh lunes, 18 de febrero de 2013 14:55
    viernes, 1 de febrero de 2013 3:04

Todas las respuestas

  • Dim s As String = String.Format("{0, 20}{1:D20}", "pepe", 31)

    • Propuesto como respuesta Donato Arzola jueves, 31 de enero de 2013 3:16
    miércoles, 30 de enero de 2013 22:08
  • Hola:
    En un Form con 1 Button, 1 TextBox y 2 Label, copia y pega el siguiente codigo

    Public Class Form1

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Me.Label1.Text = Me.TextBox1.Text.PadLeft(20, "0")
            Me.Label2.Text = Me.TextBox1.Text.PadLeft(20, " ")
        End Sub
    End Class

    Un saludo desde Bilbo
    Carlos

    • Marcado como respuesta soyeddygh lunes, 18 de febrero de 2013 14:55
    jueves, 31 de enero de 2013 8:40
  • Saludos expertos,

    Una nueva consulta para ustedes... Como dice el titulo, necesito crear un txt desde un Datagrid, esto lo consigo realizar, pero tengo que dar formato a los campos que se van a agregar al txt.

    Me explico, cada campo del grid debe alcanzar una longitud x en el txt y si el registro no alcanza la longitud, entonces debe completarse con ceros a la izquierda o con espacios en blanco y esta es la parte que no consigo realizar. El grid tiene 10 columnas y debo decirle que si la columna X que debe tener una longitud de 20 espacios solo llega a 14 que le agregue a la izquierda los 6 espacios en blanco o con ceros (0) para que en el TXT aparezca con los 20 espacios.

    Esto debo hacerlo a las 10 columnas no importa la cantidad de registros que tenga la grilla.

    Desde ya agradezco sus aportes.

    Hola

    ¿Cómo lo conseguiste? Yo también estoy con ello.Además también quiero llevar al txt: label,textbox,....

    Gracias


    Héctor Van Moji


    • Editado moji87 jueves, 31 de enero de 2013 9:03
    jueves, 31 de enero de 2013 9:03
  • Esta linea esta interesante Walter, pero como se lo agrego a un DataGridView???

    intente algo como lo expuesto mas abajo pero no me resulto...

    String.Format("{0:D15}",ROW.Cells(0).Value)

     

    jueves, 31 de enero de 2013 15:33
  • Integer.Parse(row.Cells(0).Value.ToString())

    jueves, 31 de enero de 2013 16:12
  • Walter, podrias explicarte un poco mas... en esa linea que colocas, donde le digo al grid cual va a ser la longitud para las columnas, ademas son varias columnas, debo repetir esto Integer.Parse(row.Cells(0).Value.ToString()) para cada columna del grid... por favor orientame un poco mas...
    viernes, 1 de febrero de 2013 3:02
  • Gracias Carlos pero necesito realizar la operacion con un grid, no con textbox. porque no es un registro son varias, y la cantidad de registros puede cambiar dependiente del usuario.
    • Marcado como respuesta soyeddygh lunes, 18 de febrero de 2013 14:55
    viernes, 1 de febrero de 2013 3:04
  • Este enlace me ayudo

    http://social.msdn.microsoft.com/Forums/es/vbes/thread/cac0d6bb-7b13-439c-aa67-9ddcac367008

    viernes, 1 de febrero de 2013 3:07
  • Hola:
    En el ejemplo que te he puesto es para que veas como se rellena con un caracter (cero, espacio, etc)
    El proceso que lleves a cabo para crear el fichero TXT es por tu cuenta.

    Un saludo desde Bilbo
    Carlos

    viernes, 1 de febrero de 2013 8:13