Foros del Web » Programación para mayores de 30 ;) » .NET »

Concatenar cerosa la izquierda en datagridview

Estas en el tema de Concatenar cerosa la izquierda en datagridview en el foro de .NET en Foros del Web. Hola, tengo 3 columnas deseo concatenar ceros en los valores que contengan las columnas que solo tengan un caracter, para despues concatenar el contenido de ...
  #1 (permalink)  
Antiguo 13/09/2012, 09:19
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
Concatenar cerosa la izquierda en datagridview

Hola, tengo 3 columnas deseo concatenar ceros en los valores que contengan las columnas que solo tengan un caracter, para despues concatenar el contenido de todas las columnas en otra, tengo lo siguiente pero no lo concatena al mostrarlo en la columna 5

Código:


Código vb:
Ver original
  1. Private Sub BtnOrdena_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOrdena.Click
  2.         Dim col2 As String
  3.         Dim col3 As String
  4.         Dim col4 As String
  5.         For i As Integer = 0 To GridInd.Rows.Count - 1
  6.  
  7.             If GridInd.Rows(i).IsNewRow = True Then Exit For
  8.             '   GridInd.Item(5, i).Value=
  9.            If Len((GridInd.Item(2, i).Value)) = 1 Then
  10.                 col2 = ("0" & (GridInd.Item(2, i).Value))
  11.             Else
  12.                 col2 = (GridInd.Item(2, i).Value)
  13.             End If
  14.  
  15.  
  16.             If Len((GridInd.Item(3, i).Value)) = 1 Then
  17.                 col3 = ("0" & (GridInd.Item(3, i).Value))
  18.             Else
  19.                 col3 = (GridInd.Item(3, i).Value)
  20.             End If
  21.  
  22.             If Len((GridInd.Item(4, i).Value)) = 1 Then
  23.                 col4 = ("0" & (GridInd.Item(4, i).Value))
  24.             Else
  25.                 col4 = (GridInd.Item(4, i).Value)
  26.             End If
  27.  
  28.             GridInd.Item(5, i).Value = col2 & col3 & col4
  29.         Next
  30.         GridInd.Sort(GridInd.Columns(5), ListSortDirection.Ascending)
  31.    
  32.     End Sub
alguna idea de que estoy haciendo mal?
__________________
:cool: VELMA:si:
  #2 (permalink)  
Antiguo 13/09/2012, 10:19
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Concatenar cerosa la izquierda en datagridview

Bueno para esto agrega otra variable mira como debe quedar tu codigo

Código vb:
Ver original
  1. Private Sub BtnOrdena_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOrdena.Click
  2.         Dim col2 As String
  3.         Dim col3 As String
  4.         Dim col4 As String
  5.         Dim con as String = ""
  6.         For i As Integer = 0 To GridInd.Rows.Count - 1
  7.  
  8.             If GridInd.Rows(i).IsNewRow = True Then Exit For
  9.            
  10.             If Len((GridInd.Item(2, i).Value)) = 1 Then
  11.                 col2 = ("0" & (GridInd.Item(2, i).Value))
  12.             Else
  13.                 col2 = (GridInd.Item(2, i).Value)
  14.             End If
  15.  
  16.  
  17.             If Len((GridInd.Item(3, i).Value)) = 1 Then
  18.                 col3 = ("0" & (GridInd.Item(3, i).Value))
  19.             Else
  20.                 col3 = (GridInd.Item(3, i).Value)
  21.             End If
  22.  
  23.             If Len((GridInd.Item(4, i).Value)) = 1 Then
  24.                 col4 = ("0" & (GridInd.Item(4, i).Value))
  25.             Else
  26.                 col4 = (GridInd.Item(4, i).Value)
  27.             End If
  28.            
  29.            ' PRUEBA CON ESTO HABER
  30.           con = col2 & col3 & col4
  31.  
  32.             GridInd.Item(5, i).Value = con
  33.         Next
  34.         GridInd.Sort(GridInd.Columns(5), ListSortDirection.Ascending)
  35.    
  36.     End Sub
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 13/09/2012, 11:28
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Concatenar cerosa la izquierda en datagridview

Hola, gracias por responder, ya lo probe de esa manera pero no funciona me sigue dejando sin el cero.mIncluso probe concatenando una letra alprincipio y esa si la mete pero el cero no. Lo intente poniendo value.tostring() en lugar de solo value y funciono.
__________________
:cool: VELMA:si:

Última edición por velma; 13/09/2012 a las 11:34
  #4 (permalink)  
Antiguo 13/09/2012, 15:19
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Concatenar cerosa la izquierda en datagridview

a todos los estos aplica

(GridInd.Item(2, i).Value)
(GridInd.Item(3, i).Value)
(GridInd.Item(4, i).Value)

un Convert.ToString((GridInd.Item(2, i).Value))

Para que quede algo a esto

col3 = ("0" & Convert.ToString((GridInd.Item(3, i).Value)))
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #5 (permalink)  
Antiguo 14/09/2012, 10:45
Avatar de Alexis_Mejias  
Fecha de Ingreso: enero-2005
Ubicación: Santiago
Mensajes: 77
Antigüedad: 19 años, 3 meses
Puntos: 17
Respuesta: Concatenar cerosa la izquierda en datagridview

Si te sirve de Algo...

Los String tienen una propiedad llamada PadLeft y PadRight

Ambos Piden el total de caracteres y el relleno.

Esto es muy útil.

http://msdn.microsoft.com/es-es/library/system.string.padleft(v=vs.80).aspx

Saludos,
  #6 (permalink)  
Antiguo 26/09/2012, 14:15
 
Fecha de Ingreso: septiembre-2012
Ubicación: Antioquia
Mensajes: 8
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Concatenar cerosa la izquierda en datagridview

Con la propiedad PadLeft(cantidad de numeros, valor con el que rellena), si tienes un 6 queda 000006 y si tienes 678 queda 000678

Etiquetas: concatenar, datagridview, izquierda
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:25.