ojala puedan ayudarme gracias.... saludos!!!!

| |||
![]() Hola amigos soy nuevo en esto y apenas acabo de empezar a usar el flexgrid pero tengo un proble alguien podria ayudarme o aorientarme acerca de como le pedo hacer para hacerle modificaciones de datos al flex y como puedo hacer para imprimir dichos datos?? ojala puedan ayudarme gracias.... saludos!!!! ![]() |
| |||
Re: Ayuda Con Flexgrid Para escribir en el FlexGrid hay varios métodos, uno podría ser este utilizando los eventos KeyPress y KeyDown del Grid:
Código:
y para imprimirlo, básicamente sería así:Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer) ' solo caracteres imprimibles If KeyAscii >= 32 And KeyAscii <= 127 Then MSFlexGrid1.Text = MSFlexGrid1.Text & Chr(KeyAscii) End Sub Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer) With MSFlexGrid1 Select Case KeyCode Case vbKeyDelete ' Tecla <Supr> borramos toda la celda .Text = "" Case vbKeyBack ' Tecla < Retroceso> borramos el último caracter If Len(.Text) > 0 Then .Text = Left(.Text, Len(.Text) - 1) Case vbKeyTab, vbKeyReturn ' Teclas <Tab> o <Intro> If .Col = .Cols - 1 Then ' si es la última columna: ' si además en la última fila, añadimos una nueva If .Row = .Rows - 1 Then .Rows = .Rows + 1 ' nos posicionamos en la primera celda de la fila siguiente .Row = .Row + 1 .Col = .FixedCols .LeftCol = .FixedCols Else ' si no, pasamos a la siguiente columna de la misma fila .Col = .Col + 1 End If End Select End With End Sub
Código:
Esto se puede mejorar bastante, sólo puse lo básico.Private Sub cmdImprimir_Click() Dim iFila, iCol As Integer For iFila = 1 To MSFlexGrid1.Rows - 1 For iCol = 1 To MSFlexGrid1.Cols - 1 Printer.Print MSFlexGrid1.TextMatrix(iFila, iCol) & Space(5); Next iCol ' nueva línea Printer.Print "" Next iFila Printer.EndDoc End Sub Espero que te sea de ayuda. |
| |||
Re: Ayuda Con Flexgrid Es que el control MSFlexGrid no es un control enlazado a datos, para eso es mejor utilizar un control DataGrid que guarda automáticamente las modificaciones. Con el MSFlexGrid lo podrías hacer comparando cada celda del grid con los registros de la tabla, pero lo veo muy laborioso. Para imprimir el formulario, tal y como se ve en pantalla, sólo tienes que utilizar el método PrintForm: Me.PrintForm |