Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/04/2010, 13:41
Avatar de erbuson
erbuson
 
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: Importar de un .dat o yxy a MSFlexGrid

Hola:

Por lo que veo y por tus últimos mensajes, estás muy decidido con el MsFlexgrid y puedo decirte que lo lo utilizo siempre y le encuentro pocos inconvenientes.

En primer lugar, te aconsejaría que vayas creando algunas rutinas reutilizables para que te simplifiquen el proceso con el mismo.

Supongo que tienes claro que las rutinas Publicas debes incluirlas juntas en un Módulo.

Por ejemplo podrías tener:

1) Poner el título en una Columna, dimensionar su ancho, determinar si se ajustará a la izquierda, derecha o centro.

2) Poner el dato en la celda indicada.

¿ Porque tener estas rutinas ? Pues porque dentro de ellas puedes ir controlando errores que no tendrás que controlar en cada sentencia, mejorarlas poco a poco, mejorando así todo el código con un simple arreglo.

Te indico el principio, TU lo analizas, lo estudias, lo pruebas, lo mejoras y comentas.

Crea por ejemplo un Modulo con el nombre SubGrid y empiezas con la rutina:

Código vb:
Ver original
  1. Public Sub GridCabecera(Grid As MSFlexGrid, Columna As Single, AnchoTwips As Single, Titulo As String, Ajuste As String)
  2.   ' Si la Columna no existe, la añadimos ya que de lo contrario se produciría un error
  3.  If Grid.Cols - 1 < Columna Then Grid.Cols = Columna + 1
  4.   Grid.ColWidth(Columna) = AnchoTwips
  5.   Select Case UCase(Ajuste)
  6.     Case "I": Grid.ColAlignment(Columna) = 1 ' Izquierda
  7.    Case "D": Grid.ColAlignment(Columna) = 7 ' Derecha
  8.    Case "C": Grid.ColAlignment(Columna) = 4 ' Centro
  9.  End Select
  10.   Grid.Row = 0
  11.   Grid.Col = Columna
  12.   Grid.CellAlignment = 4                     ' Título siempre Centrado
  13.  Grid.Text = Titulo
  14. End Sub

Código vb:
Ver original
  1. Private Sub GridPonerDato(Grid As MSFlexGrid, Fila As Single, Columna As Single, Dato As Variant)
  2.   ' Si la fila no existe, la añadimos. La columna es de suponer que ya le hemos puesto cabecera
  3.  If Grid.Rows - 1 < Fila Then Grid.Rows = Fila + 1
  4.   Grid.TextMatrix(Fila, Columna) = Dato
  5. End Sub

Ya puedes poner un MsFlexgrid en el proyecto y empezar a probar.

Nos leemos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...