Práctica 10:FlexGrid Control.

 

 

1.- El programa Table.

 

 

Debido a que el control Grid es un control ActiveX, antes de que pueda añadirlo en un formulario debe asegurarse de que está incluido en el proyecto.

 

Para incluir un control en nuestro proyecto tenemos que ir a la opción de menú Project/Components. De tal forma que nos aparece una lista con todos los componentes disponibles a incluir en el proyecto.

 

 

 


Dicho control ha de aparecer dentro de la lista de controles del proyecto.

 


 

 

Presionando el botón derecho del ratón y eligiendo la opción de propiedades podemos ver un cuadro de dialogo con las propiedades del objeto.

 

Las más significativas son las que son de tipo general como:

 

Rows: Nº de filas.

Cols: Nº de columnas.

Fixed Rows: Nº de filas fijas.

Fixed Cols: Nº de columnas fijas.

ScrollBars: Selección de las barras de Scroll que aparecen, etc..

 

Atributos y métodos utilizados en el programa:

 

Col, Row, Text, ColAlignment(n_col), ColWidth(n_col), RowHeight(n_Row).

 

El alumno debe utilizar el help para encontrar información acerca de estos métodos y propiedades.

 

El código del programa es el siguiente:

 

'Todas las variables deben declararse.

Option Explicit

 

Private Sub cmdAling_Click()

 

    Dim ColCounter As Integer

   

    'Centra el texto en las celdas

    For ColCounter = 1 To grdTable.Cols - 1

        grdTable.ColAlignment(ColCounter) = flexAlignCenterCenter

    Next ColCounter

End Sub

 

Private Sub cmdClear_Click()

Dim RowCounter As Integer, ColCounter As Integer

 

    For ColCounter = 1 To grdTable.Cols - 1

        grdTable.Col = ColCounter

        For RowCounter = 1 To grdTable.Rows - 1

            grdTable.Row = RowCounter

            grdTable.Text = ""

        Next RowCounter

    Next ColCounter

End Sub

 

Private Sub cmdExit_Click()

    End

End Sub

 

Private Sub Form_Load()

    SetColWidth

    SetRowHeight

    InicializaGrid

    FillCells

End Sub

 

Private Sub InicializaGrid()

 

    'Establece la fila actual a la fila #0

    grdTable.Row = 0

    'Escribe en la fila #0 columna #1

    grdTable.Col = 1

    grdTable.Text = "Electricidad"

    'Escribe en la fila #0 columna #2

    grdTable.Col = 2

    grdTable.Text = "Agua"

    'Escribe en la fila #0 columna #3

    grdTable.Col = 3

    grdTable.Text = "Transporte"

    'Escribe en la fila #0 columna #4

    grdTable.Col = 4

    grdTable.Text = "Alimentación"

   

    'Establece la columna actual en la columna #0

    grdTable.Col = 0

    'Escribe en la fila #1 columna #0

    grdTable.Row = 1

    grdTable.Text = "Enero"

    'Escribe en la fila #2 columna #0

    grdTable.Row = 2

    grdTable.Text = "Febrero"

    'Escribe en la fila #3 columna #0

    grdTable.Row = 3

    grdTable.Text = "Marzo"

    'Escribe en la fila #4 columna #0

    grdTable.Row = 4

    grdTable.Text = "Abril"

    'Escribe en la fila #5 columna #0

    grdTable.Row = 5

    grdTable.Text = "Mayo"

    'Escribe en la fila #6 columna #0

    grdTable.Row = 6

    grdTable.Text = "Junio"

    'Escribe en la fila #7 columna #0

    grdTable.Row = 7

    grdTable.Text = "Julio"

    'Escribe en la fila #8 columna #0

    grdTable.Row = 8

    grdTable.Text = "Agosto"

    'Escribe en la fila #9 columna #0

    grdTable.Row = 9

    grdTable.Text = "Septiembre"

    'Escribe en la fila #10 columna #0

    grdTable.Row = 10

    grdTable.Text = "Octubre"

    'Escribe en la fila #11 columna #0

    grdTable.Row = 11

    grdTable.Text = "Noviembre"

    'Escribe en la fila #12 columna #0

    grdTable.Row = 12

    grdTable.Text = "Diciembre"

End Sub

 

Private Sub SetColWidth()

    Dim Counter As Integer

   

    For Counter = 0 To grdTable.Cols - 1

        grdTable.ColWidth(Counter) = 1150

    Next Counter

End Sub

 

Private Sub SetRowHeight()

    Dim Counter As Integer

   

    For Counter = 0 To grdTable.Rows - 1

        grdTable.RowHeight(Counter) = 300

    Next Counter

End Sub

 

 

Private Sub FillCells()

Dim RowCounter As Integer, ColCounter As Integer

 

    For ColCounter = 1 To grdTable.Cols - 1

        grdTable.Col = ColCounter

        For RowCounter = 1 To grdTable.Rows - 1

            grdTable.Row = RowCounter

            grdTable.Text = "UnKnow"

        Next RowCounter

    Next ColCounter

End Sub