Grid Editable 3

  • 0 Respuestas
  • 1982 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5635
  • Actividad:
    56.67%
  • Country: ar
  • Reputación 37
  • ANTRAX
  • Skype: underc0de.org
  • Twitter: @Underc0de
    • Ver Perfil
    • Underc0de
    • Email

Grid Editable 3

  • en: Julio 26, 2010, 10:59:33 am
Código: Visual Basic
  1.  Private Function AjustarFecha(ByVal sFecha As String) As String
  2.     ' Ajustar la cadena introducida a formato de fecha           (27/Abr/01)
  3.    Dim i As Long
  4.     Dim s As String
  5.     '
  6.    If sFecha = "" Then
  7.        AjustarFecha = ""
  8.        Exit Function
  9.     End If
  10.     '
  11.    'On Error Resume Next
  12.    On Error GoTo 0
  13.     '
  14.    ' Comprobar si se usan puntos como separador
  15.    ' si es así, cambiarlos por /
  16.    Do
  17.        i = InStr(sFecha, ".")
  18.        If i Then
  19.           Mid$(sFecha, i, 1) = "/"
  20.        End If
  21.     Loop While i
  22.     '
  23.    ' Comprobar si se usan - como separador
  24.    ' si es así, cambiarlos por /
  25.    Do
  26.        i = InStr(sFecha, "-")
  27.        If i Then
  28.           Mid$(sFecha, i, 1) = "/"
  29.        End If
  30.     Loop While i
  31.     '
  32.    s = ""
  33.     Do
  34.        i = InStr(sFecha, "/")
  35.        If i Then
  36.           s = s & Right$("0" & Left$(sFecha, i - 1), 2) & "/"
  37.           sFecha = Mid$(sFecha, i + 1)
  38.        End If
  39.     Loop While i
  40.     sFecha = s & sFecha
  41.     '
  42.    If InStr(sFecha, "/") Then
  43.        If Len(sFecha) = 5 Then
  44.           ' Si es igual a 5 caracteres, es que falta el año
  45.          sFecha = sFecha & "/"
  46.        ElseIf Len(sFecha) < 3 Then
  47.           ' Si es menor de 3 caracteres es que falta el mes
  48.          sFecha = sFecha & "/" & CStr(Month(Now)) & "/"
  49.        End If
  50.     ElseIf Len(sFecha) < 3 Then
  51.        sFecha = sFecha & "/" & CStr(Month(Now)) & "/"
  52.     Else
  53.        s = ""
  54.        For i = 1 To 2
  55.            s = s & "/" & Mid$(sFecha, (i - 1) * 2 + 1, 2)
  56.        Next
  57.        s = s & "/" & Mid$(sFecha, 5)
  58.        sFecha = s
  59.     End If
  60.     sFecha = Trim$(sFecha)
  61.     '
  62.    ' Comprobar si tiene una barra al principio, si es así, quitarla
  63.    If Left$(sFecha, 1) = "/" Then
  64.        sFecha = Mid$(sFecha, 2)
  65.     End If
  66.     ' Si tiene una barra al final, es que falta el año
  67.    If Right$(sFecha, 1) = "/" Then
  68.        sFecha = sFecha & CStr(Year(Now))
  69.     End If
  70.     '
  71.    ' Convertir la fecha, por si no se especifican todos los caracteres
  72.    ' Nota: Aquí puedes usar el formato que más te apetezca
  73.    sFecha = Format$(sFecha, "dd/mm/yyyy")
  74.     '
  75. '   ' Si no es una fecha correcta...
  76. '   If IsDate(sFecha) = False Then
  77. '      AjustarFecha = sFecha
  78. '   Else
  79. '       AjustarFecha = sFecha
  80. '   End If
  81.    '
  82.    Err = 0
  83.     '
  84.    AjustarFecha = sFecha
  85.  End Function
  86.  
  87.  Private Sub CabeceraGrid()
  88.     ' Asignar las cabeceras del grid y asignación de valores predeterminados
  89.    Dim i As Long
  90.     '
  91.    With Grid2
  92.        .FixedRows = 1
  93.        .FixedCols = 1
  94.        .ScrollBars = flexScrollBarBoth
  95.        .AllowUserResizing = flexResizeColumns
  96.        .Cols = 11              ' Número de columnas, contando la cabecera
  97.       .Rows = 2               ' Número de filas, contando la cabecera
  98.                             ' el número de filas se asignará dinámicamente
  99.       .ColWidth(0) = 600        ' El ancho de la columna 0
  100.       '
  101.       ' Asignar los nombres de las cabeceras y el ancho de las columnas
  102.       .TextArray(1) = "Fecha"
  103.        .ColWidth(1) = 1100
  104.        .TextArray(2) = "Número"
  105.        .ColWidth(2) = 900
  106.        .TextArray(3) = "Nombre"
  107.        .ColWidth(3) = 1500
  108.        .TextArray(4) = "Apellidos"
  109.         .ColWidth(4) = 2000
  110.        .TextArray(5) = "Domicilio"
  111.        .ColWidth(5) = 2500
  112.        .TextArray(6) = "Población"
  113.        .ColWidth(6) = 2000
  114.        .TextArray(7) = "Provincia"
  115.        .ColWidth(7) = 1600
  116.        .TextArray(<img src="https://underc0de.org/foro/Smileys/default/cool.gif" alt="8&#41;" title="Cool" class="smiley" /> = "Teléfonos"
  117.         .ColWidth(<img src="https://underc0de.org/foro/Smileys/default/cool.gif" alt="8&#41;" title="Cool" class="smiley" /> = 1500
  118.        .TextArray(9) = "e-mail"
  119.        .ColWidth(9) = 1200
  120.        .TextArray(10) = "Observaciones"
  121.        .ColWidth(10) = 2500
  122.        '
  123.       ' Mostrar los números en las filas
  124.       For i = 1 To .Rows - 1
  125.           .TextMatrix(i, 0) = i
  126.        Next
  127.        '
  128.       ' Esto indicará que es una nueva fila
  129.       ' (asignarla a la primera columna de la última fila)
  130.       .TextMatrix(.Rows - 1, 0) = cNuevaFila
  131.     End With
  132.  End Sub
  133.  
  134.  Private Sub BorrarFilas()
  135.     ' Borrar las filas seleccionadas                         (13/May/01)
  136.    Dim i As Long
  137.     Dim j As Long
  138.     Dim k As Long
  139.     Dim n As Long
  140.     '
  141.    ' Si está seleccionada la última fila, no borrarla
  142.    If Grid2.RowSel = Grid2.Rows - 1 Then
  143.        Beep
  144.         Exit Sub
  145.     End If
  146.     If Grid2.Row = Grid2.Rows - 1 Then
  147.        Beep
  148.        Exit Sub
  149.     End If
  150.     '
  151.    ' Borrar siempre desde la fila mayor a la menor
  152.    i = Grid2.Row
  153.     j = Grid2.RowSel
  154.     If i < j Then
  155.        k = i
  156.        i = j
  157.         j = k
  158.     End If
  159.     For n = i To j Step -1
  160.        Grid2.RemoveItem n
  161.     Next
  162.     LastRow = Grid2.Rows - 1
  163.     LastCol = 1
  164.     Grid2.Col = LastCol
  165.     Grid2.Row = LastRow
  166.     Grid2.RowSel = LastRow
  167.     Grid2.ColSel = LastCol
  168.  End Sub
  169.  
  170.  
« Última modificación: Julio 08, 2011, 10:10:21 am por ANTRAX »


 

Simular un MSFlexGrid Editable

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2701
Último mensaje Julio 26, 2010, 10:58:02 am
por ANTRAX
Grid Editable 2

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1863
Último mensaje Julio 26, 2010, 10:58:46 am
por ANTRAX
Grid Editable 4

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2016
Último mensaje Julio 26, 2010, 11:00:03 am
por ANTRAX