DataMode (Propiedad)

Establece un valor que especifica si el control DBGrid funciona en modo enlazado o no enlazado. Esta propiedad no está disponible en tiempo de ejecución.

Comentarios

La propiedad DataMode puede tener uno de los siguientes valores:

Constante	Valor	Descripción
dbgBound	0	El control DBGrid muestra los datos disponibles en el origen de datos enlazado.
dbgUnbound	1	El control DBGrid utiliza los eventos del control no enlazado para recuperar y actualizar los datos mostrados.
Nota   Las constantes arriba especificadas sólo pueden ser utilizadas para comparaciones debido a que la propiedad no está disponible en tiempo de ejecución.

La propiedad DataMode controla la forma en que el control DBGrid trata los datos. En el modo no enlazado, usted es responsable de mantener los datos y de proporcionar al control DBGrid los datos adecuados cuando se los soliciten los eventos no enlazados. En el modo enlazado, los datos se recuperan y actualizan automáticamente usando la propiedad Recordset del control Data.

Normalmente, el modo no enlazado del control DBGrid se usa para mostrar datos que no están almacenados en una base de datos accesible por el motor de base de datos Microsoft Jet. Puede usar el modo no enlazado para cualquier tipo de datos disponibles. Por ejemplo, puede usar el modo no enlazado del control DBGrid para mostrar datos con un formato de una base de datos propietaria o para administrar datos de los que mantiene un registro en un archivo de texto.

Nota   Cuando DBGrid se enlaza a un origen de datos, al establecer DataMode a 1 se origina un error.


UnboundAddData (Evento)

Se produce en un control DBGrid no enlazado cuando se le agrega una nueva fila. Este evento indica a la aplicación que debe agregar una nueva fila a su conjunto de datos.

Sintaxis

Private Sub objeto_UnboundAddData(búfer_filas As RowBuffer, marcador_nueva_fila As Variant)

La sintaxis del evento UnboundAddData consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto cuyo resultado es un objeto de la lista Aplicable a.
búfer_filas	El objeto RowBuffer que contiene la fila de datos recuperada.
marcador_nueva_fila	Un marcador que actúa como identificador único de cada fila de datos.
Comentarios

El número de filas que se van a recuperar viene determinado por la propiedad RowCount, que en este evento siempre se establece a 1, pues sólo es posible agregar una fila cada vez.

Sólo es posible agregar nuevas filas de datos al conjunto de datos cuando el valor de la propiedad AllowAddNew es True.

Puede que no sea posible llenar el objeto RowBuffer completamente, pero sólo contiene entradas para las celdas que se modificaron. Por tanto, compruebe que el valor de la propiedad Value del objeto RowBuffer sea Null para cada columna. Para las columnas con el valor Null puede asignar la propiedad DefaultValue del objeto Column a su conjunto de datos.

Para cancelar el evento UnboundAddData, establezca la propiedad RowCount del objeto RowBuffer a 0. Esto indica al DBGrid que falló el intento de agregar. De esta forma puede tratar perfectamente los errores de conversión de datos y de permisos insuficientes.

La parte búfer_filas contiene una única fila de datos que se va a escribir en el conjunto. Antes de volver de este evento, debe establecerse en marcador_nueva_fila el marcador de la fila recién agregada.


UnboundAddData (Ejemplo del evento)
Ejemplo del evento UnboundAddData

En este ejemplo se ilustra el uso del evento UnboundAddData para agregar una fila de datos a una base de datos, en este caso una matriz simple.

Private Sub DBGrid1_UnboundAddData(ByVal RowBuf As RowBuffer, NewRowBookmark As Variant)

Dim Col%

mTotalRows = mTotalRows + 1

ReDim Preserve UserData(MAXCOLS - 1, mTotalRows - 1)

' Establece la última fila en el marcador.

NewRowBookmark = mTotalRows - 1

' El bucle siguiente agrega un registro a la base de

' datos.

For Col% = 0 To UBound(UserData, 1)

    If Not IsNull(RowBuf.Value(0, Col%)) Then

        UserData(Col%, mTotalRows - 1) = RowBuf.Value(0, Col%)

    Else

        ' Si no hay ningún valor establecido para la

        ' columna, se usa DefaultValue

        UserData(Col%, mTotalRows - 1) = DBGrid1.Columns(Col%).DefaultValue

    End If

Next Col%

End Sub


UnboundDeleteRow (Evento)

Se produce siempre que se elimina un fila de datos de un control DBGrid no enlazado. Este evento indica a la aplicación que debe eliminar una fila del conjunto de datos .

Sintaxis

Private Sub objeto_UnboundDeleteRow(marcador As Variant)

La sintaxis del evento UnboundDeleteRow consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto cuyo resultado es un objeto de la lista Aplicable a.
marcador	Un valor que representa el marcador de la fila que se va a eliminar.
Comentarios

En la parte marcador debe establecerse el valor de marcador obtenido al recuperar la fila con el evento UnboundReadData o al agregarla con el evento UnboundAddData.

Para cancelar el evento UnboundDeleteRow, establezca el parámetro marcador a Null, que impedirá que se elimine la línea.


UnboundDeleteRow (Ejemplo del evento)
Ejemplo del evento UnboundDeleteRow

En este ejemplo se muestra el uso del evento UnboundDeleteRow para eliminar una fila de datos de una base de datos, en este caso una matriz simple.

Private Sub DBGrid1_UnboundDeleteRow(Bookmark As Variant)

Dim Col%, Row%

' Mover hacia abajo todas las filas situadas encima de ' la fila eliminada de la matriz.

For Row% = Bookmark + 1 To mTotalRows - 1

    For Col% = 0 To MAXCOLS - 1

        UserData(Col%, Row% - 1) = UserData(Col%, Row%)

    Next Col%

Next Row%

mTotalRows = mTotalRows - 1

End Sub


UnboundReadData (Evento)

Se produce cuando un control DBGrid requiere datos para su presentación, como ocurre al desplazarse por la pantalla de DBGrid.

Sintaxis

Private Sub objeto_UnboundReadData(búfer_filas As RowBuffer, ubicación_inicio As Variant, leer_filas_anteriores As Boolean)

La sintaxis del evento UnboundReadData consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto cuyo resultado es un objeto de la lista Aplicable a.
búfer_filas	El objeto RowBuffer que va a contener los datos recuperados. Cuando se produce este evento, la propiedad RowCount contiene el número de filas que se va a recuperar.
ubicación_inicio	Un marcador de tipo Variant que indica la fila a la que se va a ir antes de buscar el conjunto de registros siguiente o anterior. Si leer_filas_anteriores es False, ubicación_inicio especifica el marcador desde el que se va a leer el primer registro. Si leer_filas_anteriores es True, ubicación_inicio indica el marcador desde el que se leerá el primer registro. Si ubicación_inicio es nulo, la recuperación ocurrirá en el primer registro o en el último registro, dependiendo de la parte leer_filas_anteriores.
leer_filas_anteriores	Es True si la cuadrícula solicita filas antes de ubicación_inicio. Es False si la cuadrícula solicita filas después de ubicación_inicio.
Comentarios

Una vez recuperados los datos, se almacenan en la memoria caché del control DBGrid.

No es necesario llenar completamente el búfer de filas y de hecho es aceptable no devolver ninguna fila. El valor de la propiedad RowCount del objeto RowBuffer puede establecerse de forma que indique que se han obtenido menos filas de las solicitadas. El control DBGrid deduce de este hecho que no hay más filas que recuperar en la dirección indicada. Así, sólo es necesario llenar por completo el búfer de filas cuando hay más filas válidas que recuperar. Es posible informar a DBGrid de las condiciones BOF/EOF y de error estableciendo a 0 la propiedad RowCount del objeto RowBuffer.

Para cada fila recuperada debe especificar un marcador con el que referirse a ella más tarde. Este marcador se determina estableciendo la propiedad Bookmark del objeto RowBuffer para cada fila recuperada. Los datos propiamente dichos se especifican estableciendo la propiedad Value del objeto RowBuffer para cada columna de datos de cada fila recuperada.


UnboundReadData (Ejemplo del evento)
Ejemplo del evento UnboundReadData

En este ejemplo se ilustra el uso del evento UnboundReadData para leer una fila de datos de una base de datos, en este caso de una matriz simple.

Private Sub DBGrid1_UnboundReadData(ByVal RowBuf As RowBuffer, StartLocation As Variant, ByVal ReadPriorRows As Boolean)

Dim CurRow&, Row%, Col%, RowsFetched%, Incr%

If ReadPriorRows Then

    Incr% = -1

Else

    Incr% = 1

End If

' Si StartLocation es Null se empieza a leer al

' principio o al final del conjunto de datos.

If IsNull(StartLocation) Then

    If ReadPriorRows Then

        CurRow& = RowBuf.RowCount - 1

    Else

        CurRow& = 0

    End If

Else

    ' Busca la posición desde la que comenzar a

    ' leer según el marcador StartLocation

    ' y la variable lngIncr%

    CurRow& = CLng(StartLocation) + Incr%

End If

' Se transfieren los datos desde la matriz de

' datos al objeto RowBuf que DBGrid usa para

' presentar los datos

For Row% = 0 To RowBuf.RowCount - 1

    If CurRow& < 0 Or CurRow& >= mTotalRows& Then Exit For

    For Col% = 0 To UBound(UserData, 1)

        RowBuf.Value(Row%, Col%) = UserData(Col%, CurRow&)

    Next Col%

    ' Establece el marcador usando CurRow&,

 ' que es también nuestro índice de matriz

    RowBuf.Bookmark(Row%) = CStr(CurRow&)

    CurRow& = CurRow& + Incr%

    RowsFetched% = RowsFetched% + 1

Next Row%

RowBuf.RowCount = RowsFetched%

End Sub


UnboundWriteData (Evento)

Se produce cuando un control DBGrid no enlazado tiene una fila completa de datos modificados que escribir en el conjunto de datos. Indica a la aplicación que debe actualizar en el conjunto de datos una fila existente que se ha modificado.

Sintaxis

Private Sub objeto_UnboundWriteData(búfer_filas As RowBuffer, ubicación_escritura As Variant)

La sintaxis del evento UnboundWriteData consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto cuyo resultado es un objeto de la lista Aplicable a.
búfer_filas	El objeto RowBuffer que contiene la fila de datos modificada.
ubicación_escritura	Un valor que identifica el marcador único de la fila de datos, según se especifica en los eventos UnboundReadData y UnboundWriteData.
Comentarios

El valor de la propiedad RowCount del objeto RowBuffer será siempre 1, pues sólo puede actualizarse una fila de datos cada vez.

Puede que no sea posible llenar el objeto RowBuffer completamente, pero sólo contiene entradas para las celdas que se modificaron. Por tanto, compruebe que el valor de la propiedad Value del objeto RowBuffer sea Null para cada columna.

Para cancelar el evento UnboundWriteData, establezca a 0 la propiedad RowBuffer del objeto. Con ello indicará al control DBGrid que el intento de escritura ha fracasado. De esta forma puede resolver los errores de conversión de datos y de permisos insuficientes.


UnboundWriteData (Ejemplo del evento)
Ejemplo del evento UnboundWriteData

En este ejemplo se ilustra el uso del evento UnboundReadData para leer una fila de datos de una base de datos, en este caso una matriz simple.

Private Sub DBGrid1_UnboundWriteData(ByVal RowBuf As RowBuffer, WriteLocation As Variant)

Dim Col%

' Actualizar cada columna de la matriz de datos

For Col% = 0 To MAXCOLS - 1

 ' Sólo se actualizarán las columnas que han

 ' cambiado. De lo contrario, el valor se

    ' establecerá a NULL

    If Not IsNull(RowBuf.Value(0, Col%)) Then

        UserData(Col%, WriteLocation) = RowBuf.Value(0, Col%)

    End If

Next Col%

End Sub


RowBuffer (Objeto)

El objeto RowBuffer se utiliza para contener una o más filas de datos recuperados y para transferirlos entre la aplicación y un control DBGrid no enlazado.

Nota   El objeto RowBuffer no puede utilizarse en otras aplicaciones. Se trata de una clase interna que sólo pueden usar los controles DBGrid no enlazados.

Sintaxis

DBGrid.RowBuffer

Comentarios

El objeto RowBuffer se utiliza en las siguientes circunstancias:

•	El objeto RowBuffer se pasa como parte al evento UnboundReadData, donde se colocan una o más filas de datos en el objeto RowBuffer, que utilizará el control DBGrid para llenar su memoria caché.

•	Cuando se actualizan datos en el control DBGrid, el objeto RowBuffer se pasa al evento UnboundWriteData. Sólo se actualiza una fila de datos cada vez y la fila actualizada se proporciona con el marcador original especificado en el momento de recuperarla.

•	Cuando se agrega una fila, los nuevos datos agregados se sitúan en el objeto RowBuffer y se pasan al evento UnboundAddData.

En todos estos casos, recibirá el objeto RowBuffer del control DBGrid no enlazado. Usted y la aplicación deben decidir si agregan estos datos al conjunto de datos (cuando los pasa el evento UnboundReadData) o actualizar los datos existentes en el conjunto de datos (si los pasan los eventos UnboundWriteData, UnboundAddData o UnboundDeleteRow).


Bookmark (Propiedad, DBGrid)

Devuelve o establece un marcador para la fila especificada de un objeto RowBuffer en un control DBGrid no enlazado.

Sintaxis

objeto.Bookmark (fila) [= valor]

La sintaxis de la propiedad Bookmark consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto cuyo resultado es un objeto de la lista Aplicable a.
fila	Un número entero que especifica la fila en la que está situado el marcador. El intervalo para este valor va de 0 a RowCount – 1.
valor	Un tipo Variant que representa el marcador de la fila especificada.
Comentarios

Utilice el valor devuelto por la propiedad Bookmark para guardar una referencia de la fila activa que queda válida, aunque después otra fila sea la activa.

Cuando establece la propiedad Bookmark a un valor válido en código, la fila asociada a ese valor es la fila activa, y la cuadrícula se ajusta para poder mostrar la nueva fila activa si fuese necesario.

La propiedad Bookmark se define como Variant para poder almacenar los marcadores definidos por el usuario en modo idependiente.

En el evento UnboundReadData puede haber múltiples filas, por lo que debe proporcionar un marcador para cada una de ellas.

El evento UnboundWriteData pasa un marcador para identificar la fila de datos que se va a actualizar.

El evento UnboundAddData pasa un marcador para identificar la fila de datos que se va a agregar.

Nota   En modo independiente, establecer el valor de la propiedad Bookmark a sí misma forzará a la fila activa a ser actualizada mediante el evento UnboundWriteData.


Bookmark (Ejemplo de la propiedad) (DBGrid)
Ejemplo de la propiedad Bookmark (DBGrid)

En este ejemplo, cuando el usuario elimina una fila del control DBGrid no enlazado se desencadena el evento UnboundDeleteRow, lo que permite eliminar manualmente la fila del conjunto de datos, que en este caso es una matriz simple. El fragmento de código siguiente muestra cómo se pasa un marcador como parte en el evento UnboundDeleteRow para identificar la fila que se va a eliminar.

Private Sub DBGrid1_UnboundDeleteRow(Bookmark As Variant)

    For i% = Bookmark + 1 To RowCount - 1

        For j% = 0 to MAXCOLS - 1

            UserData(j%, I% - 1) = UserData(j%, I%)

        Next j%

    Next I%

End Sub

Consulte el ejemplo del evento UnboundReadData si desea saber cómo asignar datos a la propiedad Bookmark.


ColumnName (Propiedad)

Devuelve el nombre de la columna especificada de un objeto RowBuffer de un control DBGrid no enlazado.

Sintaxis

objeto.ColumnName (columna)

La sintaxis de la propiedad ColumnName consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto cuyo resultado es un objeto de la lista Aplicable a.
columna	Una cadena que especifica la columna cuyo nombre se desea obtener.
Comentarios

Permite obtener el nombre de una columna especificada.


ColumnCount (Propiedad)

Devuelve el número de columnas presentes en el objeto RowBuffer de un control DBGrid no enlazado.

Sintaxis

objeto.ColumnCount

El marcador de posición objeto representa una expresión de objeto cuyo resultado es un objeto de la lista Aplicable a.


RowCount (Propiedad)

Devuelve o establece el número de filas contenidas en el objeto RowBuffer de un control DBGrid no enlazado.

Sintaxis

objeto.RowCount [= número]

La sintaxis de la propiedad RowCount consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto cuyo resultado es un objeto de la lista Aplicable a.
número	Un entero de tipo Long que indica el número de filas.
Comentarios

En el evento UnboundWriteData, esta propiedad especifica el número de filas que se van a escribir y siempre tiene el valor 1, ya que sólo es posible escribir una fila de datos cada vez. Sin embargo, puede establecer el valor 0 para esta propiedad con el fin de indicar que la operación de escritura ha fracasado.

En el evento UnboundAddData, esta propiedad toma siempre el valor 1, ya que sólo es posible agregar una fila de datos cada vez. Sin embargo, puede establecer esta propiedad al valor 0 para indicar que la operación de agregar ha fracasado.

En el evento UnboundReadData, esta propiedad indica el número de filas que se ha solicitado llenar. Una vez llenas las filas, deberá establecer RowCount al número real de filas almacenadas en el objeto RowBuffer.


RowCount (Ejemplo de la propiedad)
Ejemplo de la propiedad RowCount

En este ejemplo, la propiedad RowCount se utiliza para procesar el número correcto de filas en el objeto RowBuffer.

For Row% = 0 To RowBuf.RowCount - 1

' Procesar RowCount número de filas

Next Row%


Value (Propiedad, RowBuffer)

Devuelve o establece el valor de un elemento de datos del objeto RowBuffer de un control DBGrid no enlazado.

Sintaxis

objeto.Value (fila, columna) [= valor]

La sintaxis de la propiedad Value consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto cuyo resultado es un objeto de la lista Aplicable a.
fila	Un entero comprendido entre 0 y RowCount – 1 que indica el número de fila del elemento.
columna	Un entero comprendido entre 0 y ColumnCount – 1 que indica el número de columna del elemento.
valor	Un valor de tipo Variant que se especifica o se muestra en la celda determinada por fila y columna.
Comentarios

El objeto RowBuffer puede contener varias columnas y filas de datos.

En los eventos UnboundWriteData y UnboundAddData, el usuario introduce el valor de la propiedad Value en el control DBGrid no enlazado. A continuación puede utilizar este valor para actualizar la base de datos.

En el evento UnboundReadData debe indicar los valores de las partes fila y columna solicitados por el control DBGrid no enlazado.


Value (Ejemplo de la propiedad) (RowBuffer)
Ejemplo de la propiedad Value (RowBuffer)

En ese ejemplo se ilustra cómo una fila previamente leída y contenida en la propiedad Value se agrega a una base de datos; en este caso, una matriz simple. En el fragmento de código siguiente, si el objeto RowBuffer contiene una fila (Not IsNull), ésta se escribe en la matriz.

For i% = 0 To MAXCOLS - 1

   If Not IsNull(RowBuf.Value(0, i%)) Then

      UserData(i%, RowCount - 1) = RowBuf.Value(0, i%)

   End If

Next i%


DBGrid (Constantes del control)
Constantes del control DBGrid

Constantes de Alignment

Constante	Valor	Descripción
dbgLeft	0	Izquierda
dbgRight	1	Derecha
dbgCenter	2	Centro
dbgGeneral	3	General
Constantes de BorderStyle

Constante	Valor	Descripción
dbgNoBorder	0	Ninguno
dbgFixedSingle	1	Simple y fijo
Constantes de DataMode

Constante	Valor	Descripción
dbgBound	0	Enlazado
dbgUnbound	1	No enlazado
Constantes de DividerStyle y RowDividerStyle

Constante	Valor	Descripción
dbgNoDividers	0	Sin separadores
dbgBlackLine	1	Línea negra
dbgDarkGrayLine	2	Línea gris oscura
dbgRaised	3	En relieve
dbgInset	4	Recuadro
dbgUseForeColor	5	Usar color de primer plano
Constantes de Error

Constante	Valor	Descripción
dbgADDCELLCOND	6252	Error al agregar condición de celda
dbgADDERROR	6154	Error mientras intentaba agregar un registrooccurred while trying to add record
dbgAPPLYSTYLE	6254	Error al aplicar estilo
dbgBADEVENT	6161	La operación no es válida con el evento
dbgBADSELRIDX	6150	El índice del marcador de la la fila seleccionada no es válido
dbgBINDERROR	4097	Imposible inicializar los datos obligatorios
dbgBMPTOOLARGE	6255	El mapa de bits es demasiado grande
dbgCAPTOOLONG	6164	El texto del título es demasiado largo
dbgCNOTFOUND	6147	Columna no encontrada
dbgCOLDATA	6156	Los datos a actualizar no son del mismo
dbgCOLINDEX	6145	El índice de la columna no es válido
dbgDATAACCESS	6160	Error de acceso de datos
dbgDELERROR	6155	Ha ocurrido un error mientras intentaba eliminar un registro
dbgDELMULTROWS	6159	Imposible eliminar filas múltiples
dbgDUPSTYLE	6248	Nombre de estilo duplicado
dbgFIELDERR	6158	El nombre del campo no es válido
dbgINCOMPAT	6157	El tipo de datos no es compatible con el tipo de datos de la columna
dbgINVBOOKMARK	6149	Marcador no válido
dbgINVPROPVAL	4098	El valor de la propiedad no es válido
dbgINVROWNUM	6148	Número de fila no válido
dbgINVSBSTYLE	6152	El valor de la propiedad ScrollBars no es válido
dbgNOCURREC	6163	Ningún registro activo
dbgNOPROPNOW	6162	La propiedad no está disponible en este contexto
dbgNOTINIT	6146	Control no inicializado
dbgREMSTYLE	6251	Error al eliminar el estilo
dbgSCROLLRANGE	6151	Partes de desplazamiento fuera de rango
dbgSPLITINDEX	6244	El índice de división no es válido
dbgSTYLEERR	6249	Error accediendo al estilo
dbgSTYLEINDEX	6247	El índice del estilo no es válido
dbgSTYLENAME	6253	El nombre del estilo no es válido
dbgUPDERROR	6153	Ha ocurrido un error mientras intentaba actualizar un registro
dbgUPDSTYLE	6250	Error actualizando el estilo
dbgVITEMERR	6246	Error accediendo al elemento del valor
dbgVLINDEX	6245	El índice de la lista de valores no es válido
Constantes de ScrollBar

Constante	Valor	Descripción
dbgNone	0	Ninguna
dbgHorizontal	1	Horizontal
dbgVertical	2	Vertical
dbgBoth	3	Ambas
dbgAutomatic	4	Automática
Constantes de SplitSizeMode

Constante	Valor	Descripción
dbgScalable	0	Escalable
dbgExact	1	Exacto
dbgNumberOfColumns	2	Número de columnas


Split (Objeto)

El objeto Split representa una división en un control DBGrid.

Comentarios

DBGrid acepta divisiones similares a las de Excel, que dividen la cuadrícula en paneles verticales para proporcionar a los usuarios distintas vistas de una base de datos. Cada división se representa mediante un objeto Split y contiene un grupo de columnas adyacentes que se desplazan como una unidad. Cuando se crea un control DBGrid, contiene de forma predeterminada un objeto Split.

Puede utilizar las divisiones para presentar los datos en varios paneles verticales. Los paneles de datos (o divisiones) pueden mostrar datos con distintos colores y fuentes. Pueden desplazarse (verticalmente) juntos o de forma independiente y pueden mostrar columnas iguales o diferentes. También puede utilizar divisiones para evitar que una o más columnas se desplacen. A diferencia de otros productos de cuadrículas, las columnas fijas no tienen por qué estar en el borde izquierdo de la cuadrícula, sino que pueden estar en el borde derecho o en cualquier parte del centro de la cuadrícula. Incluso puede tener múltiples grupos de columnas fijas en una cuadrícula.

Cada objeto Split mantiene su propia colección Columns. Estas divisiones y columnas independientes le proporcionan unas capacidades de presentación de datos flexibles y potentes.

Como se mencionó antes, una cuadrícula (un objeto DBGrid) contiene inicialmente una única división. Si crea divisiones adicionales, puede determinar o establecer la división actual (es decir, la división que tiene el enfoque) mediante la propiedad Split de la cuadrícula como sigue:

' Lee el índice de base cero de la cuadrícula actual

Variable% = DBGrid1.Split

' Establece el enfoque a la cuadrícula con un índice

' igual a Variable%

DBGrid1.Split = Variable%

Cada división de una cuadrícula es una vista distinta del mismo origen de datos y cada división se comporta como una cuadrícula independiente. Si crea objetos Split adicionales sin personalizar ninguna de las propiedades de la división, todas las divisiones serán idénticas y se comportarán de forma muy parecida a la cuadrícula original con una división.

Algunas de las propiedades del control DBGrid son las mismas que las propiedades de un objeto Split y se consideran comunes. Los cambios realizados en una propiedad común del control DBGrid cambian también la misma propiedad del objeto Split actual y viceversa. Por ejemplo, imagine una cuadrícula con dos divisiones y suponga que el índice actual de la división es 1 (es decir, la propiedad Split de la cuadrícula tiene el valor 1). Si desea determinar el estilo de marquesina que se utiliza, las instrucciones siguientes son idénticas:

marquee% = DBGrid1.MarqueeStyle

marquee% = DBGrid1.Splits(1).MarqueeStyle

Si el índice actual de la división está establecido a 1, el código siguiente es equivalente para establecer la propiedad MarqueeStyle a dbgSolidCellBorder:

DBGrid1.MarqueeStyle = dbgSolidCellBorder

DBGrid1.Splits(1).MarqueeStyle = dbgSolidCellBorder

Nota   Las propiedades comunes son exclusivas de los objetos DBGrid y los objetos Split asociados. No hay ninguna otra pareja de objetos que tenga una relación similar.


Splits (Colección)

La colección Splits contiene todos los objetos Split almacenados en un control DBGrid.

Sintaxis

Splits(índice)

Splits.Item(índice)

Comentarios

Puede crear divisiones en tiempo de diseño si utiliza el menú contextual UI-active de la cuadrícula. En tiempo de ejecución, puede crear y eliminar divisiones con los métodos Add y Remove de la colección Splits. Cada método tiene un índice de división basado en cero. El código siguiente ilustra como puede agregar y eliminar divisiones en tiempo de ejecución:

' Crea un objeto Split con índice 0

DBGrid1.Splits.Add 0

' Elimina el objeto Split con índice 1

DBGrid1.Splits.Remove 1

Puede determinar el número de divisiones de una cuadrícula con la propiedad Count de la colección Splits.


Split, colección Splits (Ejemplo del objeto)
Ejemplo del objeto Split, colección Splits

En el ejemplo siguiente se agrega una división fija nueva a un control DBGrid. Para probar este ejemplo, agregue un control Data y un control DBGrid al formulario de un nuevo proyecto EXE estándar. Establezca las propiedades DatabaseName y RecordSource del control Data a "BIBLIO.MDB" y "AUTHORS", respectivamente. Pegue el código siguiente en la sección Declaraciones generales del formulario:

Private Sub Form_Load()

' Antes de modificar las propiedades de la

' cuadrícula, asegúrese de que la cuadrícula está

' inicializada actualizando el control Data.

Data1.Refresh

' Crea divisiones adicionales:

DBGrid1.Splits.Add 0 ' Crea una división adicional

' Oculta todas las columnas de la división de la

' izquierda, Splits(0), excepto las columnas 0 y 1.

Dim Cols As Columns, C As Column

Set Cols = DBGrid1.Splits(0).Columns

For Each C In Cols

C.Visible = False

Next C

Cols(0).Visible = True

Cols(1).Visible = True

' Configura Splits(0) para mostrar exactamente

' dos columnas y desactiva el cambio de tamaño.

With DBGrid1.Splits(0)

.SizeMode = dbgNumberOfColumns

.Size = 2

.AllowSizing = False

End With

' Normalmente, si fija las columnas 0 y 1 de una

' división para evitar su desplazamiento, deseará

' que no sean visibles en otras divisiones:

Set Cols = DBGrid1.Splits(1).Columns

Cols(0).Visible = False

Cols(1).Visible = False

' Desactiva los selectores de registros de Split 1:

DBGrid1.Splits(1).RecordSelectors = False

End Sub


AfterColEdit (Evento)

Se produce después de terminar la modificación de una celda de la cuadrícula.

Sintaxis

Private Sub objeto_AfterColEdit([ índice As Integer,] ByVal índicecol As Integer)

La sintaxis del evento AfterColEdit consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Entero que identifica un control si está en una matriz de controles.
índicecol	Entero que identifica la columna que se ha modificado.
Comentarios

Cuando el usuario termina de modificar una celda de la cuadrícula, igual que cuando se desplaza con el tabulador a otra columna de la misma fila, al pulsar la tecla ENTRAR o hacer clic en otra celda, se ejecutan los eventos BeforeColUpdate y AfterColUpdate y se mueven los datos de la celda al búfer de copia de la cuadrícula. El evento AfterColEdit sigue inmediatamente al evento AfterColUpdate.

Cuando se termina de modificar una celda de la cuadrícula, siempre se desencadena el evento AfterColUpdate, aunque no se hayan realizado cambios en la celda o aunque se haya cancelado el evento BeforeColUpdate.

El evento AfterColEdit no se produce si se canceló el evento BeforeColEdit.


BeforeColEdit (Evento)

Se produce inmediatamente antes de que el usuario entre en el modo de edición al pulsar un carácter.

Sintaxis

Private Sub objeto_BeforeColEdit([ índice As Integer,] ByVal índicecol As Integer, ByVal teclaascii As Integer, cancelar As Integer)

La sintaxis del evento BeforeColEdit consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Entero que identifica un control si está en una matriz de controles.
índicecol	Entero que identifica la columna a modificar.
teclaascii	Entero que representa el código de tecla ANSI del carácter pulsado para iniciar la modificación o 0 si el usuario inició la modificación mediante un clic con el mouse (ratón). Teclaascii se pasa por valor, no por referencia; no puede modificar su valor para iniciar la modificación con otro carácter.
cancelar	Entero que se puede establecer a True para evitar que el usuario modifique la celda, como se describe en Valores.
Valores

Los valores de cancelar son:

Valor	Descripción
True	La celda no entrará en modo de edición
False	(Predeterminado) Se dispara inmediatamente el evento ColEdit, seguido de los eventos Change y KeyUp de la parte teclaascii, si es distinto de cero.
Comentarios

Si no se está utilizando una marquesina de editor flotante, también se produce el evento cuando el usuario hace clic en la celda actual o doble clic en otra celda.

Utilice este evento para controlar la posibilidad de modificar las celdas en cada celda o para traducir la tecla inicial de método abreviado a un valor predeterminado.

Nota   La parte teclaascii sólo puede ser 0 si no se está utilizando una marquesina de editor flotante.


ButtonClick (Evento, control DBGrid)

Se produce al hacer clic en el botón incorporado en la celda actual.

Sintaxis

Private Sub objeto_ButtonClick([ índice As Integer,] ByVal índicecol As Integer)

La sintaxis del evento ButtonClick consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Entero que identifica un control si está en una matriz de controles.
índicecol	Entero que identifica la columna en cuyo botón se ha hecho clic.
Comentarios

El botón incorporado está activado en una columna cuando la propiedad Button tiene el valor True.

Normalmente, activará el botón de columna cuando desee desplegar un control de Visual Basic (como los controles incorporados ComboBox, DBListBox o incluso otro control DBGrid) para modificar las columnas o escribir datos. Cuando haga clic en el botón de la celda actual, se desencadenará el evento ButtonClick. Entonces puede escribir código para desplegar el control que desee desde la celda.


ColEdit (Evento)

Se produce cuando una celda entra por primera vez en modo de edición al escribir un carácter.

Sintaxis

Private Sub objeto_ColEdit([ índice As Integer,] ByVal índicecol As Integer)

La sintaxis del evento ColEdit consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Entero que identifica un control si está en una matriz de controles.
índicecol	Entero que identifica la columna que se está modificando.
Comentarios

Si no se está utilizando una marquesina de editor flotante, también se produce este evento cuando el usuario hace clic en la celda actual o doble clic en otra celda.

El evento ColEdit sigue inmediatamente al evento BeforeColEdit sólo cuando no se ha cancelado este último.

Cuando el usuario termina de editar una celda de la cuadrícula, igual que cuando pasa con el tabulador a otra columna de la misma fila, al pulsar la tecla ENTRAR o hacer clic en otra celda, se ejecutan los eventos BeforeColUpdate y AfterColUpdate, si se ha modificado los datos. Después se desencadena el evento AfterColEdit para indicar que la modificación ha terminado.


Error (Evento, control DBGrid)

Sólo se produce como resultado de un error de acceso a datos, que ocurre cuando no se está ejecutando código de Visual Basic.

Sintaxis

Private Sub objeto_Error([ índice As Integer,] ByVal errordatos As Integer, respuesta As Integer)

La sintaxis del evento Error consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Entero que identifica un control si está en una matriz de controles.
errordatos	Entero que identifica el error que se ha producido.
respuesta	Entero que puede establecer a 0 para que no se muestre el mensaje de error, como se describe en Valores.
Valores

Los valores de respuesta son:

Valor	Descripción
0	No se mostrará el mensaje de error.
1	(Predeterminado) Se mostrará el mensaje asociado al error.
Comentarios

Aunque la aplicación controle en el código los errores de tiempo de ejecución, se pueden producir errores cuando no hay ningún código en ejecución, por ejemplo cuando el usuario hace clic en el botón de un control Data o modifica el registro actual al interactuar con un control enlazado a datos. Si se produce un error de acceso a datos como resultado de una acción de este tipo, se desencadena el evento Error.

No agregar código a este evento equivale a establecer la parte respuesta a 0.

Nota   Utilice la propiedad ErrorText para recuperar la cadena de error que se mostrará.


OnAddNew (Evento)

Se produce cuando una acción del usuario llama a una operación AddNew.

Sintaxis

Private Sub objeto_OnAddNew([ índice As Integer])

La sintaxis del evento OnAddNew consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Entero que identifica un control si está en una matriz de controles.
Comentarios

El evento OnAddNew se produce cuando se ha iniciado una operación AddNew por uno de los motivos siguientes:

•	El usuario modifica una celda de la fila AddNew. Normalmente esto se produce en cuanto el usuario escribe un carácter, pero también ocurre muchas veces como resultado de la selección de un botón de opción o cuadro combinado incorporados.

•	Las propiedades Value o Text de una columna se establecen en el código cuando la celda actual está en la fila AddNew.

Este evento se desencadena en los modos enlazado y no enlazado. Sin embargo, sólo se desencadena si la propiedad AllowAddNew de la cuadrícula es True.

Cuando se desencadena el evento OnAddNew, el valor de la propiedad AddNewMode es 2 - AddNew Pending.


SelChange (Evento, control DBGrid)

Se produce cuando el usuario selecciona un rango distinto de filas o de columnas.

Sintaxis

Private Sub objeto_SelChange([ índice As Integer,] cancelar As Integer)

La sintaxis del evento SelChange consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Entero que identifica un control si está en una matriz de controles.
cancelar	Expresión booleana que determina si se ha cancelado una modificación, como se describe en Valores.
Valores

Los valores de cancelar son:

Valor	Descripción
True	Si el procedimiento de evento establece la parte cancelar a True, se restaura las selecciones previas de columna y fila (si las hay) y las propiedades SelStartCol, SelEndCol y SelBookmarks vuelven a tener los valores anteriores
False	(Predeterminado) Continua las modificaciones.
Comentarios

Este evento se desencadena bajo diversas circunstancias:

•	Cuando el usuario selecciona una fila al hacer clic en el selector de registros.

•	Cuando el usuario agrega una fila a la lista de filas seleccionadas al hacer clic en su selector de registros mientras mantiene presionada la tecla CTRL.

•	Cuando el usuario selecciona una columna al hacer clic en el encabezado.

•	Cuando el usuario cambia el rango de las columnas seleccionadas al arrastrar a una columna adyacente de la fila del encabezado .

•	Cuando el usuario amplía el rango de columnas seleccionadas al mantener presionada la tecla MAYÚSCULAS y al hacer clic en un encabezado de columna no seleccionado.

•	Cuando el usuario borra la selección actual de fila o columna al hacer clic en una celda individual; este evento se desencadena antes que el evento RowColChange.

Las propiedades SelStartCol y SelEndCol proporcionan el rango actual de las columnas seleccionadas. Los marcadores de las filas seleccionadas están disponibles en la colección proporcionada por la propiedad SelBookmarks. En este procedimiento de evento, estas propiedades reflejan las selecciones pendientes del usuario.

Este evento sólo se desencadena mediante la interacción del usuario con la cuadrícula. No se puede desencadenar por código.

Nota   Cuando el usuario selecciona una columna, se borran las selecciones de filas. De forma similar, cuando el usuario selecciona una fila, se borran las selecciones de columnas.


SplitChange (Evento)

Se produce cuando la celda actual cambia a una celda distinta de otra división.

Sintaxis

Private Sub objeto_SplitChange([ índice As Integer])

La sintaxis del evento SplitChange consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Entero que identifica un control si está en una matriz de controles.
Comentarios

Este evento se desencadena bajo diversas circunstancias:

•	Cuando se muestra la cuadrícula por primera vez.

•	Cuando el usuario hace clic en una celda de otra división (si lo permite el valor de la propiedad AllowFocus).

•	Cuando el usuario presiona pulsa una tecla de dirección para cruzar los límites de una división (si lo permite el valor de la propiedad TabAcrossSplits).

•	Cuando se modifica la propiedad Split a otro valor en el código.

•	Cuando se inserta una división nueva delante de la división actual mediante el código o la interacción del usuario.

•	Cuando se elimina la división actual mediante el código o la interacción del usuario.

Si el usuario edita los datos y mueve la ubicación de la celda actual a una fila nueva en otra división, se completan los eventos de actualización de la fila original antes de que se ejecute el evento SplitChange.

Si la modificación de una división también cambia la fila o la columna actual, el evento SplitChange siempre precederá al evento RowColChange.


UnboundGetRelativeBookmark (Evento)

Se produce siempre que la cuadrícula necesita datos para mostrar.

Sintaxis

Private Sub objeto_UnboundGetRelativeBookmark([ índice As Integer,] ubicacióninicio As Variant, ByVal desplazamiento As Long, nuevaubicación As Variant, ubicaciónaprox As Long)

La sintaxis del evento UnboundGetRelativeBookmark consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Entero que identifica un control si está en una matriz de controles.
ubicacióninicio	Marcador que, junto con desplazamiento, especifica la fila a devolver en nuevaubicación. Una ubicacióninicio Null indica una solicitud de fila desde BOF o EOF.
desplazamiento	Especifica la ubicación relativa (desde ubicacióninicio) de la fila a devolver en nuevaubicación. Un número positivo indica una ubicación relativa posterior mientras que un número negativo indica una ubicación relativa anterior.
nuevaubicación	Marcador de la fila que se especificada por ubicacióninicio y desplazamiento. Si la fila especificada está más allá de la primera o de la última fila (o más allá de BOF o EOF), nuevaubicación se debe establecer a Null.
ubicaciónaprox	Valor que indica la ubicación ordinal de nuevaubicación. Al establecer esta variable, aumenta la capacidad de la cuadrícula de mostrar la barra de desplazamiento vertical de forma más precisa. Si no se sabe la ubicación ordinal exacta de nuevaubicación, el usuario puede establecerla a un valor razonable aproximado o, simplemente, pasar por alto este parámetro.
Comentarios

Este evento opcional se utiliza junto con el evento UnboundReadData (cuando la propiedad DataMode tiene el valor 1 - Sin límite). La cuadrícula lo desencadena cuando necesita mostrar datos. Puede agregar código a este evento para aumentar el rendimiento del proyecto (a veces de forma impresionante) o puede pasarlo por alto y el proyecto funcionará correctamente.

Antes de volver de este evento, se espera que el usuario establezca nuevaubicación y (opcionalmente) ubicaciónaprox. Por ejemplo:

Si desplazamiento es 1 (o -1), el usuario devuelve en nuevaubicación, el marcador de la fila siguiente (o anterior ) a ubicacióninicio.

Si ubicacióninicio es NULL y desplazamiento es 2 (o -2), el usuario devuelve en nuevaubicación, el marcador de la segunda fila (o de la penúltima).

Si la fila solicitada está más allá de la primera fila o de la última (o más allá de BOF o EOF), el usuario devuelve Null en nuevaubicación.


ClearFields (Método)

Restaura la distribución predeterminada de cuadrícula.

Sintaxis

objeto.ClearFields

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Aplicable a.

Comentarios

El método ClearFields restaura la distribución predeterminada de la cuadrícula (con dos columnas en blanco) para que las subsiguientes operaciones ReBind deriven automáticamente los nuevos enlaces de la columna a partir del origen de datos (que posiblemente ha variado). Puede cancelar el comportamiento de distribución automática de la cuadrícula si llama al método HoldFields.


ClearSelCols (Método)

Desactiva todas las columnas de una división. Si no hay columnas seleccionadas, el método no hace nada.

Sintaxis

objeto.ClearSelCols

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Aplicable a.

Comentarios

Si una cuadrícula contiene múltiples divisiones, llamar al método ClearSelCols tiene el mismo efecto que llamar al método ClearSelCols de la división actual. Puede tener acceso al índice de la división actual mediante la propiedad Split del control DBGrid.

Utilice las propiedades SelStartCol y SelEndCol para determinar el intervalo de selección de la columna actual de una división.


HoldFields (Método)

Establece la distribución de la columna o el campo actual como la distribución personalizada.

Sintaxis

objeto.HoldFields

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Aplicable a.

Comentarios

El método HoldFields establece la distribución de la columna o el campo actual como la distribución personalizada para que las subsiguientes operaciones ReBind utilicen esa distribución para mostrar los datos. Puede reanudar el comportamiento de distribución automática de la cuadrícula si invoca al método ClearFields.


SplitContaining (Método)

Devuelve el valor de la propiedad Index de la división que contiene la pareja de coordenadas especificadas.

Sintaxis

objeto.SplitContaining x, y

La sintaxis del método Scroll consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
x	Requerido. Un valor de precisión sencillo que define la coordenada horizontal, en base al sistema de coordenadas del contenedor de la cuadrícula.
y	Requerido. Un valor de precisión simple que define la coordenada vertical, en base al sistema de coordenadas del contenedor de la cuadrícula.
Comentarios

Este valor varía de 0 a 1 menos que el valor de la propiedad Count de la colección Splits (de 0 a Splits.Count - 1).

Este método es útil cuando trabaja con los eventos del mouse y de arrastrar y desea determinar si el usuario ha hecho clic o ha colocado otro control, en función de una columna de la cuadrícula.

Si la parte está fuera del área de datos de la cuadrícula, este método devuelve -1.


División

Similar a las capacidades de "dividir ventana" disponibles en Microsoft Excel donde una ventana se divide en paneles verticales separados para proporcionar a los usuarios vistas diferentes de los datos. Cada división se representa mediante un objeto Split que contiene un grupo de columnas continuas que se desplazan como una unidad.


Button (Propiedad, objeto Column)

Establece o devuelve un valor que determina si aparece un botón en la celda actual.

Sintaxis

objeto.Button [= valor]

La sintaxis de la propiedad Button consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Expresión booleana que determina si aparece un botón en la celda actual, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valores	Descripción
True	Se mostrará un botón en la esquina superior derecha de la celda actual en tiempo de ejecución.
False	(Predeterminado) No se mostrará ningún botón.
Comentarios

Normalmente, debe activar el botón de columna cuando desee desplegar un control (como los controles incorporados ComboBox, DBListBox o incluso otro control DBGrid) para efectuar modificaciones o para la entrada de datos. Cuando se haga clic en el botón de la celda actual, se desencadenará el evento ButtonClick. Puede escribir código para desplegar el control deseado de la celda.


Value (Propiedad, objeto Column)

Establece o devuelve el valor de los datos subyacentes de una columna de la fila actual. No está disponible en tiempo de diseño.

Sintaxis

objeto.Value [= valor]

La sintaxis de la propiedad Value consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Expresión de cadena que representa el valor de los datos subyacentes en una columna de la fila actual.
Comentarios

La propiedad Value es útil para simular la entrada de datos en una celda. Cuando está establecida esta propiedad, el valor mostrado en las celdas respeta el valor de la propiedad NumberFormat de la columna.

Esta propiedad siempre devuelve una variante de cadena, aunque el tipo de datos del campo subyacente sea numérico.

Utilice la propiedad Text para tener acceso a valores de datos con formato en una columna de la fila actual.


Caption (Propiedad, control DBGrid, objeto Column)

En un control DBGrid, esta propiedad determina el texto mostrado en la barra de título de la parte superior de la cuadrícula.

En un objeto Column, esta propiedad determina el texto mostrado en el área de encabezado de la columna.

Sintaxis

objeto.Caption [= valor]

La sintaxis de la propiedad Caption consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Expresión de cadena que determina qué se mostrará, como se describe a continuación.
Comentarios

En un control DBGrid, establecer la propiedad Caption a una cadena vacía oculta la barra de título.

En un objeto Column, establecer la propiedad Caption a una cadena vacía borra el texto del área de encabezado de la columna, pero no oculta el encabezado. Los títulos de columna sólo se muestran si la propiedad ColumnHeaders del control DBGrid está establecida a True y la propiedad HeadLines no es 0.


WrapText (Propiedad, objeto Column)

Establece o devuelve un valor que indica si un objeto ajusta la línea de texto a los límites de la celda.

Sintaxis

objeto.WrapText [= valor]

La sintaxis de la propiedad WrapText consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Expresión booleana que determina si un objeto ajusta la línea, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	Se produce un salto de línea delante de las palabras que, de otra forma, se mostrarían parcialmente.
False	(Predeterminado) No se produce un salto de línea y el texto se corta en el borde derecho de la celda.
Comentarios

Utilice esta propiedad junto con la propiedad RowHeight para mostrar varias líneas.


AddNewMode (Propiedad)

Devuelve un valor que describe la ubicación de la celda actual con respecto a la fila AddNew de la cuadrícula. Es de sólo lectura en tiempo de ejecución y no está disponible en tiempo de diseño.

Sintaxis

objeto.AddNewMode

La sintaxis de la propiedad AddNewMode consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
Valores

La propiedad AddNewMode devuelve uno de lo siguiente:

Constante	Valor	Descripción
dbgNoAddNew	0	La celda actual no está en la última fila y no hay operaciones AddNew pendientes.
dbgAddNewCurrent	1	La celda actual está en la última fila, pero no hay operaciones AddNew pendientes.
dbgAddNewPending	2	La celda actual está a continuación de la última fila como resultado de una operación AddNew pendiente iniciada por el usuario a través de la interfaz de usuario de la cuadrícula o por el código, como resultado de establecer las propiedades Value o Text de una columna.
Comentarios

Si la propiedad AllowAddNew es True, se deja en blanco la última fila mostrada en la cuadrícula para permitir a los usuarios introducir registros nuevos. Si la propiedad AllowAddNew es False, no se muestra la columna en blanco y AddNewMode devuelve siempre 0.

Nota   Esta propiedad es válida en los modos enlazado y no enlazado.


AllowArrows (Propiedad)

Establece o devuelve un valor que determina si el control utiliza las teclas de dirección para desplazarse por la cuadrícula.

Sintaxis

objeto.AllowArrows [= valor]

La sintaxis de la propiedad AllowArrows consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Expresión booleana que determina las teclas de dirección que se utilizarán para desplazarse por la cuadrícula, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	(Predeterminado) El usuario puede utilizar las teclas de dirección para moverse de celda en celda en la misma fila.
False	Las teclas de flecha a la izquierda y flecha a la derecha moverán el enfoque de un control a otro y no se pueden utilizar para moverse entre celdas.
Comentarios

El usuario no puede utilizar las teclas de dirección para moverse fuera del control DBGrid cuando esta propiedad está establecida a True. Si la propiedad WrapCellPointer también está establecida a True, las teclas de dirección se ajustarán alrededor de las filas y el usuario podrá desplazarse por toda la cuadrícula con las teclas de dirección.


ApproxCount (Propiedad)

Establece o devuelve el número aproximado de filas de la cuadrícula.

Sintaxis

objeto.ApproxCount [= valor]

La sintaxis de la propiedad ApproxCount consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Entero que representa el número aproximado de filas de la cuadrícula.
Comentarios

Esta propiedad establece o devuelve el número aproximado de filas que utiliza la cuadrícula para graduar la barra de desplazamiento vertical.

Normalmente, la propiedad ApproxCount se utiliza en el modo no enlazado para aumentar la precisión de la barra de desplazamiento vertical. Es particularmente útil en las situaciones donde se sabe de antemano el número de filas, por ejemplo cuando se utiliza una cuadrícula no enlazada en conjunción con una matriz.

Nota   En las cuadrículas enlazadas, establecer la propiedad ApproxCount no tiene ningún efecto. Sin embargo, obtener la propiedad ApproxCount hará que se consulte el origen de los datos subyacentes.


CurrentCellModified (Propiedad)

Establece o devuelve el estado de modificación de la celda actual. No está disponible en tiempo de diseño.

Sintaxis

objeto.CurrentCellModified [= valor]

La sintaxis de la propiedad CurrentCellModified consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Expresión booleana que determina el estado de modificación de la celda actual, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	Se está efectuando la modificación y el usuario ha modificado la celda actual (indicada por las propiedades Bookmark y Col).
False	No se ha modificado la celda o no se está efectuando la modificación.
Comentarios

Puede utilizar esta propiedad para cancelar las modificaciones realizadas por el usuario en el texto actual. Por ejemplo, para programar una tecla de función que descarte las modificaciones del usuario (como la tecla ESC), intercepte el código de tecla en el evento KeyDown de la cuadrícula y establezca CurrentCellModified a False. Esto devolverá a la celda actual el contenido original.


CurrentCellVisible (Propiedad)

Establece o devuelve la visibilidad de la celda actual. No está disponible en tiempo de diseño.

Sintaxis

objeto.CurrentCellVisible [= valor]

La sintaxis de la propiedad CurrentCellVisible consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Expresión booleana que determina la visibilidad de la celda actual, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	La celda actual (indicada por las propiedades Bookmark y Col) es visible en el área visible de una cuadrícula o división.
False	La celda no es visible.
Comentarios

En un control DBGrid, establecer la propiedad CurrentCellVisible a True hace que la cuadrícula se desplace para que se pueda ver la celda actual. Si una cuadrícula contiene múltiples divisiones, se hace visible la celda actual de cada división.

En un objeto Split, establecer la propiedad CurrentCellVisible a True hace que la celda actual sólo sea visible en esa división.

En ambos casos, establecer esta propiedad a False carece de significado y se pasa por alto.


EditActive (Propiedad)

Establece o devuelve el estado de modificación de la celda actual. No está disponible en tiempo de diseño.

Sintaxis

objeto.EditActive [= valor]

La sintaxis de la propiedad EditActive consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Expresión booleana que determina el estado de modificación, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	El usuario está modificando la celda actual.
False	No se está efectuando ninguna modificación.
Comentarios

Si la cuadrícula no está en modo de edición, establecer EditActive a True iniciará la modificación de la celda actual. Se colocará el símbolo de intercalación al final de la celda y se desencadenará el evento ColEdit.

Si la cuadrícula ya está en modo de edición, al establecer EditActive a False saldrá del modo de edición. Si se ha modificado la celda, se desencadenarán los eventos siguientes: BeforeColUpdate, AfterColUpdate y AfterColEdit.

Nota   Para cancelar totalmente la modificación, establezca la propiedad CurrentCellModified a False y la propiedad EditActive a False.


ErrorText (Propiedad)

Devuelve la cadena del mensaje de error producido en el origen de datos subyacentes. No está disponible en tiempo de diseño.

Sintaxis

objeto.ErrorText

La sintaxis de la propiedad ErrorText consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
Comentarios

Cuando se produce un error de base de datos como resultado de la interacción del usuario con la cuadrícula, por ejemplo cuando el usuario escribe texto en un campo numérico e intenta actualizar el registro actual al moverse a otra fila, se desencadenará el evento Error de la cuadrícula. Sin embargo, puede que el código de error pasado al controlador de eventos en el parámetro ErrorDatos no identifique el error específico que se ha producido o, incluso, puede que varíe en distintos entornos operativos. Por estos motivos, se proporciona la propiedad ErrorText para que la aplicación pueda analizar el mensaje de error actual y determinar la naturaleza del error.

Nota   La propiedad ErrorText sólo es válida en el controlador del evento Error de un control DBGrid. Se producirá un error interceptable si intenta tener acceso a ella en otro contexto.


hWndEditor (Propiedad)

Devuelve el controlador de ventana único asignado en el entorno operativo de Microsoft Windows a la ventana de edición del control DBGrid. No está disponible en tiempo de diseño.

Sintaxis

objeto.hWndEditor

La sintaxis de la propiedad hWndEditor consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
Comentarios

Los usuarios experimentados pueden pasar el valor de esta propiedad a las llamadas a la API de Windows que requieran un controlador de ventana válido.

Cuando no se está efectuando ninguna modificación, esta propiedad devuelve 0.

Nota   Dado que el valor de esta propiedad puede cambiar mientras se ejecuta un programa, no almacene nunca el valor de hWndEditor en una variable. Asimismo, no utilice la propiedad hWndEditor para saber si se está efectuando alguna modificación. Para ese propósito se proporciona la propiedad EditActive.


MarqueeStyle (Propiedad)

Establece o devuelve el estilo Marquesina de un control DBGrid o de un objeto Split.

Sintaxis

objeto.MarqueeStyle [= valor]

La sintaxis de la propiedad MarqueeStyle consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Número o constante que especifica el estilo Marquesina, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Constante	Valor	Descripción
dbgDottedCellBorder	0	La celda actual de la fila actual se resaltará mediante un borde punteado dibujado alrededor de la celda. En la terminología de Microsoft Windows, esto se suele llamar rectángulo de enfoque.
dbgSolidCellBorder	1	La celda actual de la fila actual se resaltará mediante un cuadro sólido dibujado alrededor de la celda actual. Este cuadro es más visible que el borde de celda punteado, especialmente cuando se utilizan en la cuadrícula las propiedades del separador 3D.
dbgHighlightCell	2	Se resaltará toda la celda mediante la inversión de los colores. Esto proporciona un estilo muy distintivo de resalte en bloque de la celda actual.
dbgHighlightRow	3	Se resaltará toda la fila que contiene la celda actual mediante la inversión de los colores de la fila. En este modo, no es posible determinar visualmente cuál es la celda actual, sólo se puede determinar la fila actual. Cuando la cuadrícula o la división no son modificables, ésta suele ser la configuración más utilizada, ya que la ubicación de la celda es irrelevante.
dbgHighlightRowRaiseCell	4	Se resaltará toda la fila. La celda actual de la fila aparecerá en "relieve" para que se distinga. Esta configuración no aparece claramente con todos los valores de color de fondo y de separador. El mejor efecto se consigue con los separadores 3D y con un color de fondo claro.
dbgNoMarquee	5	No se mostrará la marquesina. Este valor es útil en los casos en que la fila actual es irrelevante o en los que no dirigir la atención de los usuarios a la cuadrícula hasta que sea necesario.
dbgFloatingEditor	6	Se resaltará la celda actual mediante una ventana de editor de texto flotante con un símbolo de intercalación parpadeante (como en Microsoft Access). Éste es el valor predeterminado.
Comentarios

Si una cuadrícula contiene múltiples divisiones, establecer la propiedad MarqueeStyle tiene el mismo efecto que establecer individualmente la propiedad MarqueeStyle de cada división.

Nota   Si está vigente el valor de marquesina de editor flotante y la celda contiene botones de opción o gráficos, se mostrará un rectángulo de enfoque punteado.


MarqueeUnique (Propiedad)

Establece o devuelve un valor que determina si sólo se muestra la marquesina en la división actual.

Sintaxis

objeto.MarqueeUnique [= valor]

La sintaxis de la propiedad MarqueeUnique consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Expresión booleana que determina si sólo se muestra la marquesina en la división actual, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	(Predeterminado) La marquesina de la celda actual sólo se muestra en la división actual.
False	Todas las divisiones con el valor MarqueeStyle, descrito en Comentarios, mostrarán una marquesina en la celda actual, siempre que la celda actual sea visible.
Comentarios

La marquesina de la celda actual sólo se muestra cuando la propiedad MarqueeStyle de una cuadrícula o división tiene un valor de 0, 1, 2 ó 4.

En la mayoría de los casos, es preferible tener sólo una marquesina en la celda actual y no necesitará cambiar esta propiedad.

Si esta propiedad está establecida a False, puede que vea distintas marquesinas en la celda actual. La verdadera celda actual está determinada por el valor de la propiedad Split.

Nota   Aunque el valor MarqueeStyle del editor flotante (6) es, técnicamente, una marquesina de la celda actual, sólo se mostrará un editor flotante, aunque MarqueeUnique tenga el valor False.


Split (Propiedad)

Establece o devuelve el índice de la división actual. No está disponible en tiempo de diseño.

Sintaxis

objeto.Split [= valor]

La sintaxis de la propiedad Split consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Entero que especifica el índice de la división actual, como se describe en Comentarios.
Comentarios

La propiedad Split especifica un índice basado en cero de la división actual.


Splits (Propiedad)

Devuelve una colección de objetos Split. No está disponible en tiempo de diseño.

Sintaxis

objeto.Splits

La sintaxis de la propiedad Splits consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.


TabAcrossSplits (Propiedad)

Establece o devuelve el comportamiento de las teclas de dirección y de la tecla TAB en los bordes de la división.

Sintaxis

objeto.TabAcrossSplits [= valor]

La sintaxis de la propiedad TabAcrossSplits consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Expresión booleana que determina el comportamiento de las teclas de dirección y de la tecla TAB en los bordes de la división, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	Las teclas de dirección y la tecla TAB moverán la celda actual a través de los límites de la división. Cuando esté en la última columna de la división de la derecha (o la primera columna de la división de la izquierda), se ajustará a la fila siguiente, se detendrá o irá a otros controles, según los valores de las propiedades WrapCellPointer y TabAction.
False	(Predeterminado) Las teclas de dirección y la tecla TAB no moverán la celda actual a través de los límites de la división. Se ajustarán a la fila siguiente, se detendrán o irán a otros controles, según los valores de las propiedades WrapCellPointer y TabAction.
Comentarios

La propiedad TabAcrossSplits no determina si las teclas de dirección y la tecla TAB se moverán de celda en celda, de control en control o si se ajustarán a la fila siguiente. Utilice las propiedades AllowArrows, WrapCellPointer y TabAction para controlar este comportamiento. Si las teclas de dirección y la tecla TAB pueden moverse de celda en celda, esta propiedad determina si cruzarán los límites de la división para ir a las divisiones adyacentes.


TabAction (Propiedad)

Establece o devuelve un valor que define el comportamiento de la tecla TAB.

Sintaxis

objeto.TabAction [= valor]

La sintaxis de la propiedad TabAction consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Número o constante que define el comportamiento de la tecla TAB, como se describe en valores.
Valores

Los valores admitidos para valor son:

Constante	Valor	Descripción
dbgControlNavigation	0	(Predeterminado) La tecla TAB va al control siguiente o al anterior del formulario.
DbgColumnNavigation	1	La tecla TAB va de la celda actual a la columna anterior o la siguiente. Sin embargo, si esta acción cambiara la fila actual, recibe el enfoque el control siguiente o anterior del formulario.
DbgGridNavigation	2	La tecla TAB va de la celda actual a la columna anterior o a la siguiente. La propiedad WrapCellPointer determina el comportamiento de la tecla TAB en los límites de la fila. Cuando se utiliza este valor, la tecla TAB nunca va a otro control.
Comentarios

La propiedad TabAction no determina si la tecla TAB cruzará los límites de la división. Utilice la propiedad TabAcrossSplits para controlar este comportamiento.


WrapCellPointer (Propiedad)

Establece o devuelve un valor que determina el comportamiento de las teclas de dirección.

Sintaxis

objeto.WrapCellPointer [= valor]

La sintaxis de la propiedad WrapCellPointer consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Expresión booleana que determina el comportamiento de las teclas de dirección, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	El puntero de celda se ajustará desde la última columna a la primera de la fila siguiente (o desde la primera columna a la última de la fila anterior).
False	(Predeterminado) El puntero de celda no se ajustará a la fila siguiente (o a la anterior), sino que se detendrá en la última columna (o en la primera) de la fila actual.
Comentarios

Si TabAcrossSplits es False, el puntero de celda se ajustará sólo en la división actual. Si TabAcrossSplits es True, el puntero de celda se moverá de una división a la siguiente antes de que se produzca el ajuste.

Si TabAction está establecida a 2 - Grid Navigation, la tecla TAB se comportará como las teclas de dirección y se ajustará automáticamente a la celda siguiente o a la anterior.


AllowFocus (Propiedad)

Establece o devuelve un valor que determina si las celdas de una división pueden recibir el enfoque.

Sintaxis

objeto.AllowFocus [= valor]

La sintaxis de la propiedad AllowFocus consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Expresión booleana que determina si una celda puede recibir el enfoque, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	(Predeterminado) El usuario podrá seleccionar interactivamente la división para darle el enfoque.
False	El usuario no podrá seleccionar interactivamente la división. Cuando haga clic en la división, ésta no recibirá el enfoque y el control que tuviera previamente el enfoque lo retendrá.
Comentarios

Utilice esta propiedad junto con la propiedad AllowSizing para impedir que el usuario modifique una división (mediante el establecimiento de ambas propiedades a False). Cuando TabAcrossSplits está establecida a True, se saltan las divisiones no seleccionables.


ScrollGroup (Propiedad)

Se utiliza para sincronizar el desplazamiento vertical entre divisiones.

Sintaxis

objeto.ScrollGroup [= valor]

La sintaxis de la propiedad ScrollGroup consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Expresión de entero que determina el grupo de desplazamiento al que pertenece una división.
Comentarios

Esta propiedad se utiliza para sincronizar el desplazamiento vertical entre divisiones. Todas las divisiones con la misma configuración de ScrollGroup se sincronizan cuando se produce un desplazamiento vertical en cualquiera de ellas. Las divisiones que pertenecen a grupos distintos se pueden desplazar independientemente, lo que permite que las diferentes divisiones muestren partes distintas de la base de datos.

Si la propiedad ScrollBars de una división está establecida a 4 - Automatic, sólo la división más a la derecha del grupo tendrá una barra de desplazamiento vertical. Si sólo hay una división, establecer esta propiedad no tiene ningún efecto.

Establecer la propiedad FirstRow de una división afecta a las demás divisiones del mismo grupo, lo que mantiene el grupo sincronizado.

Las divisiones recién creadas tienen un valor ScrollGroup de 1.


Size (Propiedad, objeto Split)

Establece o devuelve el tamaño de una división.

Sintaxis

objeto.Size [= valor]

La sintaxis de la propiedad Size consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Expresión de entero que especifica el tamaño de la división.
Comentarios

El valor de la propiedad SizeMode de la división determina el significado del valor devuelto por esta propiedad.

Si SizeMode está establecida al valor predeterminado, 0 - Scalable, el valor devuelto por la propiedad Size es un entero que indica el tamaño relativo de la división respecto a las demás divisiones escalables.

Si SizeMode está establecida a 1 - Exact, el valor devuelto por la propiedad Size es un número de signo flotante que indica el tamaño exacto de la división en términos del sistema de coordenadas del contenedor de la cuadrícula.

Si SizeMode está establecida a 2 - Number of Columns, el valor devuelto por la propiedad Size es un entero que indica el número de columnas mostradas en la división.

Nota   Cuando sólo hay una división (comportamiento predeterminado de la cuadrícula), la división abarca todo el ancho de la cuadrícula, la propiedad SizeMode siempre es 0 - dbgScalable y la propiedad Size siempre es 1. Configurar cualquiera de estas propiedades no tiene efecto cuando sólo hay una división. Si hay varias divisiones y elimina todas menos una, las propiedades SizeMode y Size de la división que queda vuelven automáticamente a tener el valor 0 y 1, respectivamente.


SizeMode (Propiedad, objeto Split)

Establece o devuelve un valor que determina cómo se utiliza la propiedad Size para determinar el tamaño actual de una división.

Sintaxis

objeto.SizeMode [= valor]

La sintaxis de la propiedad SizeMode consta de las siguientes partes:

Parte	Descripción
objeto	Expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Número o constante que determina cómo se utiliza la propiedad Size, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Constante	Valor	Descripción
dbgScalable	0	(Predeterminado) El valor devuelto por la propiedad Size es un entero que indica el tamaño relativo de la división respecto a las otras divisiones escalables. Por ejemplo, si una cuadrícula contiene 3 divisiones escalables con las propiedades Size iguales para 1, 2 y 3, el tamaño de cada división sería 1/6, 1/3 y 1/2 del ancho total de la cuadrícula, respectivamente.
dbgExact	1	El valor devuelto por la propiedad Size es un número de signo flotante que indica el tamaño exacto de la división en términos del sistema de coordenadas del contenedor de la cuadrícula. Este valor permite fijar el tamaño de la división para que tenga siempre el mismo ancho, aunque se agreguen nuevas divisiones o se eliminen las existentes.
dbgNumberOfColumns	2	El valor devuelto por la propiedad Size es un entero que indica el número de columnas mostrado en la división; ésta ajustará su ancho para mostrar el número de columnas completas especificado por la propiedad Size. Por ejemplo, si Size está establecida a 2 y el usuario desplaza la división horizontalmente, el ancho de la división cambiará para mostrar las 2 columnas completas, independientemente del ancho de las columnas.
Comentarios

Cuando sólo hay una división (comportamiento predeterminado de la cuadrícula), la división abarca todo el ancho de la cuadrícula, la propiedad SizeMode siempre es 0 - dbgScalable y la propiedad Size siempre es 1. Configurar cualquiera de estas propiedades no tiene efecto cuando sólo hay una división. Si hay varias divisiones y elimina todas menos una, las propiedades SizeMode y Size de la división que queda vuelven automáticamente a tener el valor 0 y 1, respectivamente.

Imagine una cuadrícula que contiene divisiones escalables y divisiones con un número fijo de columnas. Si se desplaza horizontalmente una división con un número fijo de columnas, el ancho restante para las divisiones escalables puede cambiar debido a que las columnas de cuadrícula suelen tener anchos distintos. Sin embargo, la proporción de los tamaños de las divisiones escalables permanecen tal como especifican las propiedades Size respectivas.


CaptureImage (Método)

Devuelve una imagen capturada de la vista de la cuadrícula en su estado actual.

Sintaxis

objeto.CaptureImage

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Aplicable a.

Comentarios

Utilice el método CaptureImage para recuperar una instantánea de la cuadrícula.

En el código siguiente se utiliza el método CaptureImage para asignar una instantánea de un control DBGrid a un control PictureBox.

Picture1.Picture = DBGrid1.CaptureImage

Nota   El método CaptureImage recupera la imagen como una imagen de tipo metarchivo. Por tanto, la imagen cambiará de tamaño para ajustarse al tamaño del contenedor.


Soporte, documentación y actualizaciones de DBGrid

Soporte técnico de Microsoft para DBGrid

Las versiones del control DBGrid proporcionadas con Visual Basic, Visual C++ y otros sistemas de desarrollo de Microsoft, tienen soporte técnico de Microsoft. Consulte la documentación de producto de Microsoft para obtener la política de soporte técnico y actualizaciones de Microsoft.

APEX proporciona documentación gratis en pantalla para DBGrid

APEX ofrece soporte mejorado a los usuarios de DBGrid

Edición estándar de True DBGrid

Edición Pro de True DBGrid

Otros productos de APEX

Visite a APEX en el World Wide Web


APEX proporciona documentación gratis en pantalla para DBGrid

Como servicio a los usuarios de DBGrid, APEX proporciona gratuitamente un archivo de ayuda en pantalla con gran cantidad de información detallada que no se encuentra en la documentación de Visual Basic, acompañado de proyectos tutoriales. Esta completa referencia es la fuente definitiva de información acerca de DBGrid y es imprescindible para todo usuario de DBGrid. Para descargar una copia, visite el sitio Web de APEX en http://www.apexsc.com.


APEX ofrece soporte mejorado a los usuarios de DBGrid

A un precio razonable, APEX ofrece a los usuarios de DBGrid soporte técnico por teléfono y por correo electrónico. Los subscriptores del soporte mejorado obtendrán las ventajas siguientes:

•	Respuestas garantizadas por correo electrónico en el plazo de un día.

•	Acceso a técnicos de soporte especialmente cualificados para responder a preguntas sobre DBGrid.

•	Versiones periódicas de la Edición estándar de True DBGrid.

•	Descuentos en la actualización a la Edición Pro de True DBGrid.

Consulte en el sitio Web de APEX las políticas actuales de soporte e información de precios.


Edición estándar de True DBGrid

La Edición estándar de True DBGrid es una actualización reducida para el control DBGrid. Está editada y soportada por APEX para alcanzar los objetivos siguientes:

•	Agregar realces reducidos a DBGrid sugeridos por los usuarios.

•	Resolver errores críticos no detectados durante la versión beta.

•	Proporcionar a los usuarios documentación, tutoriales y código de ejemplo adicionales y actualizados.

•	Entregar actualizaciones frecuentes y solución de fallos entre las versiones de Visual Basic.

Durante un período de tiempo limitado, la Edición estándar de True DBGrid está disponible sin gasto alguno para todos los usuarios con licencia de Visual Basic y Visual C++. Posteriormente, las actualizaciones de la Edición estándar de True DBGrid sólo estarán disponibles para los subscriptores del soporte mejorado. Para descargar una copia de la Edición estándar de True DBGrid, visite el sitio Web de APEX en http://www.apexsc.com.


Edición Pro de True DBGrid

La Edición Pro de True DBGrid es la versión total y mejorada del control DBGrid y la Edición estándar de True DBGrid. La Edición Pro de True DBGrid agrega numerosas y potentes características de presentación de datos que le permiten presentar sus datos en una amplia variedad de formatos y estilos.

Características avanzadas

•	Modelos de objetos de estilo similares a Excel

•	Se pueden aplicar automáticamente los estilos en base al contenido de las celdas

•	Control de fuentes, colores, formato de texto y sangrías celda por celda

•	Traducción automática de los datos subyacentes a los valores mostrados

•	Gráficos, cuadros combinados, casillas de verificación y botones de opción en las celdas

•	Editor desplegable para campos grandes

•	Modos no enlazados mejorados

•	Modo de almacenamiento sencillo de utilizar

•	Registros en múltiples líneas

•	Máscaras de entrada

•	y mucho más …(visite nuestro sitio Web para obtener una lista completa)

Cree aplicaciones de cliente sencillas de utilizar y visualmente atractivas

¿Por qué suministrar una aplicación con este aspecto:

cuando puede suministrar una con este aspecto?

Con True DBGrid, puede implementar fácilmente pantallas intuitivas como la mostrada arriba, que necesitan poco o nada de código.

Soporte técnico gratis

Los usuarios de True DBGrid Pro reciben soporte técnico gratis (por correo electrónico, teléfono y fax). El equipo de soporte técnico de APEX está ampliamente reconocido como uno de los más responsables y formados de la comunidad ISV. Nuestros distribuidores internacionales también proporcionan un soporte excelente a los usuarios locales. Visite nuestro sitio Web en http://www.apexsc.com para obtener una lista actualizada de proveedores y distribuidores de EE.UU. e internacionales.

MSFlexGrid mejorado y gratis

Durante un periodo de tiempo limitado, puede recibir dos cuadrículas por el precio de una. Cuando adquiera True DBGrid al precio sugerido por el fabricante, también recibirá VSFlex de Videosoft, la versión mejorada del control MSFlexGrid que se distribuye con Visual Basic.

Garantía de devolución del dinero sin problemas

Todos los productos APEX tienen una garantía de 30 días de devolución de su dinero sin problema alguno.

Soporte y distribución internacional

La Edición Pro de True DBGrid está disponible en versiones en inglés, japonés y alemán. Para obtener información acerca de ventas y distribución en Japón y Alemania, contacte con:

Bunka Orient Company

1-3-1 Kamo, Izumi-Ku

Sendai-City 981-31

Japón

Tel: 81-22-378-7106

Fax: 81-22-378-7170

Zoschke Data GmbH

Bahnhofstrasse 3

Schoenberg/Holstein  24217

Alemania

Tel: 49-4344-6166

Fax: 49-4344-6162

En breve habrá soporte para otros idiomas. Visite el sitio Web de APEX en http://www.apexsc.com para obtener información actualizada acerca de las versiones de nuevos idiomas, así como una lista completa de proveedores y distribuidores en EE.UU. y en todo el mundo.


Otros productos de APEX

Control MyData

Ahora puede utilizar controles enlazados con datos con CUALQUIER origen de datos. El control MyData desencadena eventos especiales de Visual Basic que le permiten proporcionar sus propios datos. Incluye muchos ejemplos para las bibliotecas de bases de datos más populares de otros proveedores.

VBA Companion

Más que un simple examinador de objetos, VBA Companion imprime documentación de referencia con un aspecto nítido para cualquier control ActiveX o servidor de automatización, incluidos los desarrollados en Visual Basic. Es como tener un Explorador para los objetos del registro del sistema.


Visite a APEX en el World Wide Web

Asegúrese de visitar el sitio Web de APEX en http://www.apexsc.com para obtener información actualizada de los productos, ofertas especiales, demostraciones, programas de ejemplo e información de los proveedores y distribuidores de EE.UU. e internacionales.

Las especificaciones de los productos de APEX, políticas de soporte, precios y ofertas especiales están sujetas a cambios sin previo aviso. Visite nuestro sitio Web para obtener información más actualizada o llámenos al (412) 681-4343.


Column (Objeto)

Un objeto Column representa una columna de un control DBGrid.

Comentarios

Puede manipular una columna de un control DBGrid usando las propiedades y los métodos del objeto Column. Con el objeto Column puede modificar los atributos del encabezado de columna, así como los de la propia columna.

Para utilizar un objeto Column, puede utilizar directamente la propiedad Columns del control DBGrid o asignar cada columna a una variable diferente de tipo objeto Column. El siguiente ejemplo muestra este último método:

Dim Col1, Col2 as Column

Set Col1 = DBGrid1.Columns(0)

Set Col2 = DBGrid1.Columns(1)

Col1.Caption = "Columna 1"

Col2.Caption = "Columna 2"

Si hace referencia con frecuencia a las columnas de un control DBGrid, puede aumentar el rendimiento usando los métodos anteriores para asignar valores a las columnas en lugar de utilizar la propiedad Columns como en:

DBGrid1.Columns(0).Caption = "Columna 1"


Columns (Colección)

La colección Columns contiene todos los objetos Column almacenados de un control DBGrid.

Sintaxis

Columns(índice)

Columns.Item(índice)

Comentarios

Puede utilizar las propiedades y los métodos de la colección Columns para agregar y quitar objetos Column, contar el número de columnas que hay en la colección Columns y tratar columnas individuales de la colección Columns.

A la colección Columns se puede tener acceso desde la propiedad Columns del control DBGrid.


DBGrid (Control)

Presenta y habilita la manipulación de datos de una serie de filas y columnas que representan registros y campos de un objeto Recordset.

Sintaxis

DBGrid

Comentarios

El control asociado a datos DBGrid parece igual que el control Grid; sin embargo, puede establecer la propiedad DataSource del control DBGrid con el nombre de un control Data, de forma que el control se llene automáticamente y sus encabezados de columna se establezcan automáticamente a partir del objeto Recordset del control Data. El control DBGrid es realmente una colección fija de columnas, cada una de las cuales tiene un número indeterminado de filas.

Cada celda de un control DBGrid puede almacenar valores de texto, pero no objetos vinculados o incrustados. Puede especificar la celda actual desde el código o el usuario puede cambiarla en tiempo de ejecución usando el mouse (ratón) o las teclas de dirección. Las celdas pueden modificarse interactivamente, escribiendo en la celda o mediante programación. Es posible seleccionar las celdas individualmente o por fila.

Si el texto de una celda es demasiado grande y no se puede presentar en la celda, el texto se ajusta a la línea siguiente dentro de la misma celda. Para presentar el texto ajustado, debe incrementar la propiedad Width del objeto Column de la celda o la propiedad RowHeight del control DBGrid. En tiempo de diseño, el ancho de la columna se puede modificar interactivamente cambiando el tamaño de la columna o cambiando el ancho de la columna en la página de propiedades del objeto Column.

Utilice la propiedad Count de la colección Columns del control DBGrid y la propiedad RecordCount del objeto Recordset para determinar el número de filas y columnas de un control. Un control DBGrid puede tener tantas filas como permitan los recursos del sistema y 1700 columnas aproximadamente.

Cuando selecciona una celda se establece la propiedad ColIndex, seleccionándose así uno de los objetos Column de la colección Columns del objeto DBGrid. Las propiedades Text y Value del objeto Column hacen referencia al contenido de la celda actual. Es posible tener acceso a los datos de la fila actual mediante la propiedad Bookmark, que proporciona acceso al registro del objeto Recordset subyacente. Cada columna del control DBGrid tiene su propia fuente, borde, ajuste de texto, color y otros atributos que pueden establecerse independientemente de las demás columnas. En tiempo de diseño puede establecer el ancho de la columna y el alto de la fila, y definir las columnas que no son visibles para el usuario. También puede evitar que los usuarios cambien el formato en tiempo de ejecución.

Nota   Si establece alguna de las propiedades de la columna DBGrid en tiempo de diseño, necesitará establecer el valor de todas ellas en orden para mantener los valores actuales.

Nota   Si utiliza el método Move para situar el control DBGrid, puede que necesite el método Refresh para forzar que vuelva a dibujarse.


SelBookmarks (Colección)

La colección SelBookmarks contiene un marcador para cada fila seleccionada de un control DBGrid.

Sintaxis

SelBookmarks

Comentarios

Utilice la propiedad SelBookmarks del control DBGrid para obtener la colección SelBookmarks. Los marcadores se agregan a la colección SelBookmarks en el orden en que se seleccionan. Puede cambiar la posición del puntero de registro actual del control DBGrid estableciendo la propiedad Bookmark con uno de los marcadores seleccionados en la colección SelBookmarks.

Utilice el método Add para agregar marcadores a la colección SelBookmarks. Una vez que se ha agregado un marcador a la colección SelBookmarks, aparece seleccionado en el control DBGrid.

Para quitar un marcador de la colección SelBookmarks, utilice el método Remove. Una vez que se ha quitado un marcador de la colección SelBookmarks, ya no aparece seleccionado en el control DBGrid.

La colección SelBookmarks acepta los métodos Add y Remove, así como la propiedad Count. Usando estos métodos y propiedades puede manipular la lista de elementos seleccionados en el control DBGrid. Por ejemplo, puede seleccionar elementos adicionales por programa usando el método Add o puede determinar el número total de elementos seleccionados usando la propiedad Count.


AfterColUpdate (Evento)

Se produce después de que los datos de una celda de un control DBGrid se muevan al búfer de copia del control.

Sintaxis

Private Sub objeto_AfterColUpdate ([índice As Integer,] índice_columna As Integer)

La sintaxis del evento AfterColUpdate consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Un entero que identifica un control si está dentro de una matriz de controles.
índice_columna	Un entero que identifica la columna del control.
Comentarios

Cuando un usuario completa la modificación de una celda de un control DBGrid, como cuando pasa a otra columna de la misma fila presionando ENTRAR o cuando el control pierde el enfoque, se produce el evento BeforeColUpdate y, a menos que se cancele, los datos pasan al búfer de copia del control. Una vez pasados, se ejecuta el evento AfterColUpdate.

El evento AfterColUpdate se produce después del evento BeforeColUpdate y sólo si la parte cancelar del evento BeforeColUpdate no es True.

Una vez que comienza el procedimiento de evento AfterColUpdate, los datos de la celda se han pasado al búfer de copia del control y no se pueden cancelar, pero se pueden realizar otras actualizaciones antes de que se confirmen los datos en el Recordset.


AfterColUpdate (Ejemplo del evento)
Ejemplo del evento AfterColUpdate

Este ejemplo examina cuándo se actualiza una columna y coloca el resultado en otra columna.

Private Sub DbGrid1_AfterColUpdate (ColIndex As Integer)

If ColIndex = 1 Then

Data1.Recordset.FindFirst "IdPub = " _

 & DbGrid1.Columns(1).Value

If Not Data1.Recordset.NoMatch Then

DbGrid1.Columns(2).Value = _

 Data1.Recordset.Fields("Editor")

Else

DbGrid1.Columns(2).Value = "No coincide"

End If

End If

End Sub


AfterDelete (Evento)

Se produce después de que el usuario elimina un registro seleccionado de un control DBGrid.

Sintaxis

Private Sub objeto_AfterDelete ([índice As Integer,] índice_columna As Integer)

La sintaxis del evento AfterDelete consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Un entero que identifica un control específico si está en una matriz de controles.
índice_columna	Un entero que identifica la columna.
Comentarios

Cuando un usuario selecciona un selector de registro del control DBGrid y presiona SUPR o CTRL+X, se elimina la fila seleccionada. Antes de que se elimine el registro se produce el evento BeforeDelete. Una vez eliminada la fila se produce el evento AfterDelete. La fila seleccionada para eliminación está disponible en la colección proporcionada por la propiedad SelBookmarks.


AfterDelete (Ejemplo del evento)
Ejemplo del evento AfterDelete

Este ejemplo presenta un mensaje para confirmar que un registro se ha eliminado con éxito.

Private Sub DbGrid1_AfterDelete ()

MsgBox "¡El registro se ha eliminado con éxito!"

End Sub


AfterInsert (Evento)

Se produce después de que el usuario inserte un registro nuevo en un control DBGrid.

Sintaxis

Private Sub objeto_AfterInsert (índice As Integer)

La sintaxis del evento AfterInsert consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Un entero que identifica un control si está en una matriz de controles.
Comentarios

Cuando el usuario selecciona el registro nuevo (en la parte inferior del control) y escribe un carácter en una de las celdas se produce el evento BeforeInsert, seguido de los eventos BeforeUpdate, AfterUpdate y AfterInsert.

Cuando se produce el evento AfterInsert, el registro ya se ha insertado en la base de datos. La propiedad Bookmark puede utilizarse para tener acceso al nuevo registro.

El evento AfterInsert no se puede cancelar.

El procedimiento de evento AfterInsert se puede usar para actualizar otras tablas o para realizar la limpieza posterior a la actualización de otros controles.


AfterInsert (Ejemplo del evento)
Ejemplo del evento AfterInsert

Este ejemplo crea una entrada en una tabla relacionada si el usuario escribe un valor en una columna de la cuadrícula.

Private Sub DbGrid1_AfterInsert ()

If DbGrid1.Columns(1).Value <> "" Then

Data2.Recordset.AddNew

Data2.Recordset.Fields("IdPub") = DbGrid1.Columns(1).Value

Data2.Recordset.Update

End If

End Sub


AfterUpdate (Evento)

Se produce después de que los datos cambiados se hayan escrito en la base de datos desde un control DBGrid.

Sintaxis

Sub objeto_AfterUpdate (índice As Integer)

La sintaxis del evento AfterUpdate consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Un entero que identifica un control si está en  una matriz de controles.
Comentarios

Cuando el usuario pasa a otra fila o cuando se ejecuta el método Update del objeto Recordset, los datos se pasan desde el búfer de copia del control al búfer de copia del control Data y se escriben en la base de datos. Una vez terminada la escritura, se produce el evento AfterUpdate.

El registro actualizado está disponible mediante la propiedad Bookmark del control DBGrid.

El evento AfterUpdate se produce después del evento BeforeUpdate, pero antes que el evento LostFocus del control (o del evento GotFocus del siguiente control en el orden de tabulación). Este evento se produce en modo enlazado y no enlazado, y no se puede cancelar.

A diferencia del evento Change, cambiar datos de un control o un registro desde el código no produce este evento.


AfterUpdate (Ejemplo del evento)
Ejemplo del evento AfterUpdate

Este ejemplo actualiza una etiqueta cuando se ha realizado cualquier cambio en la cuadrícula.

Private Sub DbGrid1_AfterUpdate ()

Label1.Caption = "Última modificación: " & Format$(Now, "Long Date")

End Sub


BeforeColUpdate (Evento)

Se produce después de que termina la modificación de una celda, pero antes de que los datos pasen de la celda al búfer de copia del control DBGrid.

Sintaxis

Private Sub objeto_BeforeColUpdate ([ índice As Integer,] índice_columna As Integer, valor_anterior As Variant, cancelar As Integer)

La sintaxis del evento BeforeColUpdate consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Un entero que identifica un control si está en una matriz de controles.
índice_columna	Un entero que identifica la columna.
valor_anterior	Un valor que contiene el valor existente en la celda antes de realizar los cambios.
Cancelar	Una expresión booleana que especifica si el cambio se produce, como se describe en Valores.
Valores

Los valores admitidos para cancelar son:

Valor	Descripción
True	Cancela el cambio, restaura la celda a valor_anterior y restaura el enfoque al control.
False	(Predeterminado) Continúa con el cambio y permite cambiar el enfoque.
Comentarios

Los datos especificados por la parte valor_anterior pasan de la celda al búfer de copia del control cuando un usuario completa la modificación de una celda, como cuando pasa a otra columna de la misma fila presionando ENTRAR o cuando cambia el enfoque a otra celda. Antes de que los datos pasen de la celda al búfer de copia del control se produce el evento BeforeColUpdate. Este evento ofrece a la aplicación la oportunidad de comprobar las celdas individuales de la cuadrícula antes de se pasen al búfer de copia del control.

Si los procedimientos de evento establecen la parte cancelar a True, se restaura el valor original de la celda, el enfoque permanece en el control y no se produce el evento AfterColUpdate.

Para restaurar valor_anterior en la celda y permitir que el usuario quite el enfoque de dicha celda, establezca cancelar a False y establezca la celda a valor_anterior de la forma siguiente:

Cancel = False

DBGrid1.Columns(ColIndex).Value = OldValue

El evento AfterColUpdate se produce después del evento BeforeColUpdate.

Si establece la parte cancelar a True, el usuario no puede quitar el enfoque del control hasta que la aplicación determine si los datos pueden pasarse con seguridad al búfer de copia del control.


BeforeColUpdate (Ejemplo del evento)
Ejemplo del evento BeforeColUpdate

Este ejemplo comprueba el valor que el usuario ha escrito se encuentra dentro de un intervalo determinado; de lo contrario, deshabilita la actualización.

Private Sub DbGrid1_BeforeColUpdate (ColIndex As Integer, OldValue As Variant, Cancel As Integer)

If ColIndex = 1 Then

If DbGrid1.Columns(1).Value < Now Then

Cancel = True

MsgBox "La fecha debe ser posterior a la actual."

End If

End If

End Sub


BeforeDelete (Evento)

Se produce antes de que el registro seleccionado se elimine de un control DBGrid.

Sintaxis

Private Sub objeto_BeforeDelete ([índice As Integer,] cancelar As Integer)

La sintaxis del evento BeforeDelete consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Un entero que identifica un control si está en una matriz de controles.
cancelar	Una expresión booleana que determina si se elimina o no el registro, como se describe en Valores.
Valores

Los valores admitidos para cancelar son:

Valor	Descripción
True	Deja el enfoque en el control y no elimina el registro.
False	(Predeterminado) Continúa con la operación de eliminación y permite cambiar el enfoque.
Comentarios

Cuando el usuario selecciona un selector de registro del control y presiona SUPR o CTRL+X, se produce el evento BeforeDelete antes de que se elimine el registro.

Una vez eliminada la fila se produce el evento AfterDelete. La fila seleccionada para su eliminación está disponible en la colección proporcionada por la propiedad SelBookmarks.

Si el procedimiento de evento establece la parte canceIar a True, la fila no se elimina.

Si se seleccionan varias filas, aparecerá el mensaje de error Imposible eliminar múltiples filas.


BeforeDelete (Ejemplo del evento)
Ejemplo del evento BeforeDelete

Este ejemplo presenta un mensaje que pide al usuario confirmación para una operación de eliminación en una cuadrícula.

Private Sub DbGrid1_BeforeDelete (Cancel As Integer)

Dim mResult As Integer

mResult = MsgBox("¿Realmente desea eliminar el registro " & DataGrid1.SeletedRows & "?", _

 vbYesNo And vbQuestion, "Confirmación de eliminación")

If mResult = vbNo Then Cancel = True

End Sub


BeforeInsert (Evento)

Se produce antes de que se inserten nuevos registros en un control DBGrid.

Sintaxis

Private Sub objeto_BeforeInsert ([ índice As Integer,] cancelar As Integer)

La sintaxis del evento BeforeInsert consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Un entero que identifica un control si está en una matriz de controles.
cancelar	Una expresión booleana que determina si se agrega o no un registro, como se describe en Valores.
Valores

Los valores admitidos para cancelar son:

Valor	Descripción
True	Deja el enfoque en el control y no agrega el nuevo registro
False	(Predeterminado) Continúa con la copia y permite cambiar el enfoque
Comentarios

Cuando un usuario selecciona el nuevo registro (en la parte inferior del control DBGrid) y escribe un carácter en una de las celdas, se produce el evento BeforeInsert, seguido de los eventos BeforeUpdate, AfterUpdate y AfterInsert.

Si el procedimiento de evento establece la parte cancelar a True, la fila no se inserta y el contenido de la celda se borra.

Cuando se produce el evento BeforeInsert, el registro no se ha agregado a la base de datos. El nuevo registro se encuentra en el búfer de copia del control DBGrid hasta que el procedimiento termina.

Cuando el evento AfterInsert termina, la fila del nuevo registro del control DBGrid se reinicializa y el registro modificado se convierte en la última fila del control DBGrid.


BeforeInsert (Ejemplo del evento)
Ejemplo del evento BeforeInsert

Este ejemplo presenta un mensaje que pide al usuario confirmación para la inserción de un registro nuevo.

Private Sub DbGrid1_BeforeInsert (Cancel As Integer)

Dim mResult As Integer

mResult = MsgBox("Confirmación: ¿Desea agregar un nuevo registro?", _

 vbYesNo And vbQuestion, "Confirmación")

If mResult = vbNo Then Cancel = True

End Sub


BeforeUpdate (Evento)

Se produce antes de que los datos de un control DBGrid pasen al búfer de copia del control.

Sintaxis

Private Sub objeto_BeforeUpdate ([índice As Integer,] cancelar As Integer)

La sintaxis del evento BeforeUpdate consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Un entero que identifica un control si está en una matriz de controles.
cancelar	Una expresión booleana que determina si se copian o no datos, como se describe en Valores.
Valores

Los valores admitidos para cancelar son:

Valor	Descripción
True	Deja el enfoque en el control y no copia los datos.
False	(Predeterminado) Continúa con la copia y permite cambiar el enfoque.
Comentarios

Cuando el usuario pasa a otra fila o cuando se ejecuta el método Update del objeto Recordset, los datos pasan del búfer de copia del control DBGrid al búfer de copia del control Data y se escriben en la base de datos.

Justo antes de que los datos pasen del búfer de copia del control DBGrid hacia el búfer de copia del control Data se produce el evento BeforeUpdate. A menos que la operación de copia se cancele, el evento AfterUpdate se produce después de que los datos hayan pasado al búfer de copia del control Data y se hayan escrito en la base de datos. El registro actualizado está disponible mediante la propiedad Bookmark del control DBGrid.

Si establece a True la parte cancelar del evento BeforeUpdate, el enfoque permanece en el control, no se producen los eventos AfterUpdate o LostFocus y el registro no se guarda en la base de datos.

El evento BeforeUpdate se produce antes que los eventos AfterUpdate y LostFocus de este control o antes que el evento GotFocus del siguiente control del formulario.

Este evento se produce aunque el control no esté enlazado.

A diferencia del evento Change, cambiar datos de un control o un registro desde código no produce este evento.

Puede utilizar este evento para validar los datos de un registro de un control enlazado antes de permitir que el usuario confirme el cambio en el búfer de copia del control Data. Si establece la parte cancelar a True, el usuario no podrá mover el enfoque del control hasta que la aplicación determine si los datos se pueden pasar de forma segura al búfer de copia del control Data.


BeforeUpdate (Ejemplo del evento)
Ejemplo del evento BeforeUpdate

Este ejemplo presenta un mensaje para pedir al usuario que escriba un valor en la primera columna antes de actualizar la cuadrícula.

Private Sub DbGrid1_BeforeUpdate (Cancel As Integer)

If DbGrid1.Columns(1).Value = "" Then

MsgBox "¡Debe escribir un valor en la primera columna!"

Cancel = True

End If

End Sub


ColResize (Evento)

Se produce cuando un usuario cambia el tamaño de una columna de un control DBGrid.

Sintaxis

Private Sub objeto_ColResize ([ índice As Integer,] índice_columna As Integer, cancelar As Integer)

La sintaxis del evento ColResize consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Un entero que identifica un control si está en una matriz de controles.
índice_columna	Un entero que identifica la columna.
Cancelar	Una expresión booleana que determina si se cambia el tamaño o no de una columna, como se describe en Valores.
Valores

Los valores admitidos para cancelar son:

Valor	Descripción
True	Cancela el cambio, restaura el ancho original de la columna.
False	(Predeterminado) Continúa con el cambio de ancho.
Comentarios

Cuando un usuario cambia el tamaño de una columna se produce el evento ColResize. El procedimiento de evento puede aceptar el cambio, alterar el grado de cambio o cancelar completamente el cambio.

Si establece a True la parte cancelar, se restaura el ancho de la columna. Para alterar el grado de cambio, establezca la propiedad Width del objeto Column al valor deseado.

La ejecución del método Refresh dentro del procedimiento hace que el control se vuelva a dibujar incluso si la parte cancelar es True.


ColResize (Ejemplo del evento)
Ejemplo del evento ColResize

Este ejemplo cambia el tamaño de todas las columnas al tamaño de la primera columna si el usuario ajusta el tamaño de esa primera columna.

Private Sub DbGrid1_ColResize (ColIndex As Integer, Cancel As Integer)

Dim nCol As Column

If ColIndex = 1 Then

For Each nCol In DbGrid1.Columns

nCol.Width = DbGrid1.Columns(1).Width

Next

End If

End Sub


HeadClick (Evento)

Se produce cuando el usuario hace clic en el encabezado de una determinada columna de un control DBGrid.

Sintaxis

Private Sub objeto_HeadClick ([ índice As Integer,] índice_columna As Integer)

La sintaxis del evento HeadClick consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Un entero que identifica un control si está en una matriz de controles.
índice_columna	Un entero que identifica la columna.
Comentarios

Un uso posible para este evento es reordenar el objeto Recordset basándose en la columna seleccionada.


HeadClick (Ejemplo del evento)
Ejemplo del evento HeadClick

Este ejemplo ordena el origen de los registros del control Data basándose en la columna en la que el usuario hace clic.

Private Sub DbGrid1_HeadClick (ColIndex As Integer)

Data1.RecordSource = "Select * From Publishers Order By " & _

 DbGrid1.Columns(ColIndex).DataField

Data1.Refresh

End Sub


RowResize (Evento)

Se produce cuando un usuario cambia el tamaño de una fila de un control DBGrid.

Sintaxis

Private Sub objeto_RowResize ([ índice As Integer,] cancelar As Integer)

La sintaxis del evento RowResize consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Un entero que identifica un control si está en una matriz de controles.
cancelar	Una expresión booleana que determina si se cancela o no un cambio, como se describe en Valores.
Valores

Los valores admitidos para cancelar son:

Valor	Descripción
True	Cancela el cambio, restaura la fila a su alto original.
False	(Predeterminado) Continúa con el cambio del alto de la fila.
Comentarios

El usuario puede cambiar el tamaño de las filas de un control DBGrid usando el mouse (ratón). Cuando el usuario cambia el alto, se produce el evento RowResize. El procedimiento de evento puede aceptar el cambio, alterar el grado de cambio o cancelar completamente el cambio.

La propiedad RowHeight del control DBGrid determina el alto de todas las filas del control.

Si establece a True la parte cancelar, se restaura el alto de la fila. Para alterar el grado de cambio, establezca la propiedad RowHeight al valor deseado.

La ejecución del método Refresh dentro del procedimiento hace que el control se vuelva a dibujar incluso si la parte cancelar es True.


RowResize (Ejemplo del evento)
Ejemplo del evento RowResize

Este ejemplo se asegura de que al menos hay cinco filas visibles en la cuadrícula.

Private Sub DbGrid1_RowResize (Cancel As Integer)

If DbGrid1.VisibleRows < 5 Then Cancel = True

End Sub


CellText (Método)

Devuelve un valor de texto con formato de una celda de un control DBGrid. No acepta argumentos con nombres.

Sintaxis

objeto.CellText marcador

La sintaxis del método CellText consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
marcador	Requerido. Una expresión de cadena que representa una fila del control DBGrid.
Comentarios

El método CellText devuelve una representación en forma de cadena con formato de los datos contenidos en la columna actual de la fila especificada por el valor marcador. El uso del método CellText es similar al acceso al la propiedad Text, excepto en que puede seleccionar una fila específica de la que obtener el valor.

El valor devuelto por el método CellText se deriva del valor de la propiedad Text aplicando el formato especificado por la propiedad NumberFormat del objeto Column.

Cuando emplee el método CellText, utilice la colección Columns para indicar la columna específica del control DBGrid y establecer la parte marcador a una fila determinada.

El uso del método CellText para extraer información de una celda no afecta a la selección actual.


CellText (Ejemplo del método)
Ejemplo del método CellText

Este ejemplo obtiene información de las filas superior e inferior y la presenta en una etiqueta.

Sub DBGrid1_Scroll (Cancel As Integer)

Dim TopRow, BottomRow

TopRow = DBGrid1.Columns(1).CellText(DBGrid1.FirstRow)

BottomRow = DBGrid1.Columns(1).CellText(DBGrid1.RowBookmark _

 (DBGrid1.VisibleRows - 1))

Label1.Caption = "Registros " & TopRow & " a " & _

 BottomRow & " que se presentan actualmente."

End Sub


CellValue (Método)

Devuelve el valor interno de una columna para una fila especificada de un control DBGrid. No acepta argumentos con nombres.

Sintaxis

objeto.CellValue marcador

La sintaxis del método CellValue consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
marcador	Requerido. Un expresión de cadena que contiene los datos sin formato almacenados en una celda seleccionada del control DBGrid.
Comentarios

Cuando se usa el método CellValue, utilice la colección Columns para especificar la columna del control DBGrid y establecer la parte marcador a una fila determinada.

El uso del método CellValue devuelve el mismo valor que el valor de la propiedad Value del objeto Column actual, excepto en que puede indicar una fila específica del control DBGrid.

El uso del método CellValue para extraer información de una celda no afecta a la selección actual.


CellValue (Ejemplo del método)
Ejemplo del método CellValue

Este ejemplo recupera todos los valores de una columna dada del intervalo de filas seleccionadas y los carga en una matriz para su posterior uso.

Sub Command1_Click ()

Dim I

ReDim CalcArray (0 to DBGrid1.SelBookmarks.Count - 1)

For I = 0 to DBGrid1.SelBookmarks.Count -1

' Pone el valor de la fila actual de la matriz de filas seleccionada

' en la celda correspondiente de CalcArray.

CalcArray(I) = _

 DBGrid1.Columns(1).CellValue(DBGrid1.SelBookmarks(I))

Next I

End Sub


ColContaining (Método)

Devuelve el valor ColIndex de la columna del control DBGrid que contiene el valor especificado de coordenada (X). No acepta argumentos con nombre.

Sintaxis

objeto.ColContaining coordenada

La sintaxis del método ColContaining consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
coordenada	Requerido. Una expresión numérica de tipo Single que define una coordenada horizontal (valor X) basándose en el sistema de coordenadas del contenedor.
Comentarios

El método ColContaining devuelve un número que corresponde a uno de los índices de columna del control especificado por objeto. Este número se encuentra entre 0 y 1 menos que el valor de la propiedad Count de la colección Columns (0 a Columns.Count - 1) .Este método es útil cuando se trabaja con eventos del mouse y de arrastre e intenta determinar dónde el usuario ha hecho clic o ha colocado un control en términos de columna del control DBGrid.

Si coordenada está fuera del sistema de coordenadas del contenedor, se produce un error interceptable.

Nota   El método ColContaining devuelve el ColIndex de la columna indicada, no el de la columna visible. Si coordenada se ubica en la primera columna visible, pero hay dos columnas desplazadas por la parte izquierda del control, el método ColContaining devuelve 2.


GetBookmark (Método)

Devuelve un valor que contiene un marcador para una fila relativa a la fila actual de un control DBGrid. No acepta argumentos con nombre.

Sintaxis

objeto.GetBookmark valor

La sintaxis del método GetBookmark consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Requerido. Una expresión numérica de tipo Long que direcciona filas del control DBGrid con respecto a la fila actual, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
0	Devuelve el marcador de la fila actual, igual que DBGrid1.Bookmark.
1	Devuelve el marcador de la fila siguiente a la fila actual.
-1	Devuelve el marcador de la fila anterior a la fila actual.
n	Devuelve el marcador de una fila relativa a la actual basándose en (DBGrid1.Row + n)
Comentarios

El método GetBookmark puede devolver valores muy diferentes del método RowBookmark porque la actual fila quizás no sea visible.


GetBookmark (Ejemplo del método)
Ejemplo del método GetBookmark

Este ejemplo comprueba el valor actualizado de una columna concreta para asegurarse de que el nuevo valor se encuentra entre los valores de la fila anterior y la siguiente.

Sub DBGrid1_BeforeColUpdate (ColIndex As Integer, _

 OldValue as Variant, PrevVal, NextVal, CurVal, Cancel As Integer)

If ColIndex = 1 Then

PrevVal = DBGrid1.Columns(1).CellValue(DBGrid1.GetBookmark(-1))

NextVal = DBGrid1.Columns(1).CellValue(DBGrid1.GetBookmark(1))

CurVal = DBGrid1.Columns(1).Value

If CurVal > PrevVal Or CurVal < NextVal  Then

Cancel = True

MsgBox "El valor debe estar entre" & PrevVal & " y " & NextVal

End If

End If

End Sub


Add (Método, colecciones Columns, SelBookmarks y Splits)

Agrega una nueva columna a la colección Columns, un nuevo marcador a la colección SelBookmarks o una nueva división de la colección Splits del control DBGrid. No acepta argumentos con nombres.

Sintaxis

objeto.Add índice_columna

objeto.Add marcador

La sintaxis del método Add consta de las siguientes partes

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice_columna	Requerido. Un entero que especifica si el nuevo objeto Column o Split se inserta en la colección Columns o en la colección Splits, como se describe en Valores.
marcador	El marcador que se va a agregar a la colección.
Valores

Los valores admitidos para índice_columna son:

Valor	Descripción
0	Inserta la nueva columna como columna situada más a la izquierda.
Count	Si la parte índice_columna es el mismo que el valor de la propiedad Count, la nueva columna se inserta como la columna situada más a la derecha.
n	Inserta la columna nueva a la izquierda de la columna número n de la colección Columns. La columna número n y todas las columnas siguientes se incrementan apropiadamente.
Comentarios

El método Add inserta un nuevo objeto Column en la colección Columns basándose en la parte índice_columna. Las columnas nuevas se agregan con su propiedad Visible establecida a False y todas las demás propiedades a sus valores predeterminados. Inicialmente, las columnas nuevas no están enlazadas porque su propiedad DataField es una cadena de longitud cero (""). La propiedad Count de la colección Columns se incrementa para reflejar la columna nueva.

Importante   Si anteriormente ha eliminado una columna mediante el método Remove, después de agregar nuevas columnas quizá necesite actualizar la pantalla con los métodos Rebind y Refresh. Esto hace que el control DBGrid reconstruya su matriz interna de diseño de columnas para reflejar correctamente el verdadero estado del control.

Use el método Add para agregar marcadores a la colección SelBookmarks. Una vez que se ha agregado un marcador a la colección SelBookmarks, aparece seleccionado en el control DBGrid.


Rebind (Método)

Crea de nuevo las propiedades y las columnas de un control DBGrid. No acepta argumentos con nombres.

Sintaxis

objeto.Rebind

Comentarios

El método Rebind hace que el control DBGrid realice las mismas operaciones que ocurren cuando se establece la propiedad DataSource. El control DBGrid restablece las columnas, los encabezados y otras propiedades basándose en las propiedades del control Data actual.

Si no ha modificado las columnas de la cuadrícula en tiempo de diseño, ejecute el método ReBind para restablecer las columnas, encabezados, y otras propiedades basadas en el origen de datos actual.

Sin embargo, si en algún momento ha modificado las columnas en tiempo de diseño (incluso si ha dejado en blanco las propiedades DataField), la cuadrícula asumirá que desea mantener el diseño de la cuadrícula modificado y no restablecer las columnas de forma automática.

Para una cuadrícula independiente (con la propiedad DataMode establecida a 1), este método es similar al método Refresh excepto en que la cuadrícula intenta restaurar las filas activas y superiores.

Nota   Para forzar el restablecimiento a la cuadrícula de las columnas obligatorias, aunque las columnas fueran modificadas en tiempo de diseño, llame al método ClearFields inmediatamente antes de ReBind. Por el contrario, para cancelar la respuesta del diseño automático de la cuadrícula y forzar a la cuadrícula a utilizar el diseño actual de la columna o del campo, llame al método HoldFields inmediatamente antes de ReBind.


Rebind (Ejemplo del método)
Ejemplo del método Rebind

Este ejemplo comprueba una variable global para ver si el usuario ha modificado el diseño de la tabla y reconfigura el control usando la información original de la tabla.

Sub CheckForRebind_Click ()

If UserChangedLayout Then

DBGrid1.Rebind

End If

End Sub


Remove (Método, DBGrid)

Quita la fila especificada de la colección SelBookmarks o el objeto Column especificado de la colección Columns de un control DBGrid.

Sintaxis

objeto.Remove índice

La sintaxis del método Remove consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
índice	Requerido. Un entero comprendido entre 0 y el valor de la propiedad Count de la colección – 1.
Comentarios

En la colección SelBookmarks, el método Remove quita la fila especificada por la parte índice y reduce la propiedad SelBookmarks.Count en 1. Si la fila quitada de la colección SelBookmarks es visible, se anulará la selección del control DBGrid.

En la colección Columns , el método Remove quita la columna especificada por la parte índice y reduce la propiedad Columns.Count en 1.

Si especifica una fila que no está en la colección SelBookmarks o un objeto Column que no está en la colección Columns, se produce un error interceptable


RowBookmark (Método)

Devuelve un valor que contiene el marcador para una fila visible de un control DBGrid. No acepta argumentos con nombre.

Sintaxis

objeto.RowBookmark valor

La sintaxis del método RowBookmark consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Requerido. Un entero comprendido entre 0 y el valor de la propiedad VisibleRows del control DBGrid menos 1.
Comentarios

RowBookmark(0) devuelve el mismo marcador que la propiedad FirstRow del control DBGrid. Si la fila actual no es visible, puede que este método no devuelva la fila actual, según determina la propiedad Bookmark del control DBGrid.

Nota   Los marcadores devueltos por RowBookmark no se deben guardar porque sus valores cambian en cuanto las filas visibles del control DBGrid cambian.


RowBookmark (Ejemplo del método)
Ejemplo del método RowBookmark

Este ejemplo selecciona todas las filas que son visibles actualmente en la cuadrícula.

Sub SelectAllVisible_Click ()

Dim I

For I = 0 To DBGrid1.VisibleRows - 1

DBGrid1.SelBookmarks.Add DBGrid1.RowBookmark(I)

Next I

End Sub


RowContaining (Método)

Devuelve el valor correspondiente al número de fila de la coordenada vertical (Y) especificada del control DBGrid. No acepta argumentos con nombres.

Sintaxis

objeto.RowContaining coordenada

La sintaxis del método RowContaining consta de las siguientes partes

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
coordenada	Requerido. Una expresión numérica de tipo Single que define una coordenada vertical (valor Y) basándose en el sistema de coordenadas del contenedor.
Comentarios

El método RowContaining devuelve un valor que corresponde a uno de los índices de columna del control especificado por objeto. Este número se encuentra entre 0 y el valor de la propiedad VisibleRows -1. Este método es útil cuando se trabaja con eventos de mouse y de arrastre e intenta determinar dónde el usuario ha hecho clic o ha colocado un control en términos de una fila del control DBGrid.

Si coordenada está fuera del sistema de coordenadas del contenedor, se produce un error interceptable.


RowContaining y ColContaining (Ejemplo de los métodos)
Ejemplo de los métodos RowContaining y ColContaining

Este ejemplo guarda el valor de la celda donde el usuario inicia una operación de arrastre.

Dim SaveValue

Sub DBGrid1_MouseDown (Button As Integer, Shift As Integer, _

 X As Single, Y As Single)

Dim RowValue, ColValue

' Obtener la fila y la columna sobre las que se
 	' encuentra el mouse

RowValue = DBGrid1.RowContaining(Y)

ColValue = DBGrid1.ColContaining(X)

' Si los valores son válidos, guardar el texto de
 	' la celda y empezar el arrastre.

If RowValue > 0 And ColValue < DBGrid1.VisibleRows And _

ColValue > 0 And ColValue < DBGrid1.VisibleCols Then

SaveValue = DBGrid1.Columns(ColValue). _

CellValue(DBGrid1.RowBookmark(RowValue))

DBGrid1.Drag 1

End If

End Sub


RowTop (Método)

Devuelve un valor que contiene la coordenada Y de la parte superior de la fila especificada de un control DBGrid. No acepta argumentos con nombre.

Sintaxis

objeto.RowTop valor

La sintaxis del método RowTop consta de las siguientes partes

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Requerido. Un entero que especifica una fila dentro del intervalo 0 al valor de la propiedad VisibleRows -1.
Comentarios

El método RowTop devuelve un valor que corresponde a la coordenada Y de la parte superior de la fila especificada por valor. El valor devuelto se basa en la propiedad ScaleMode del contenedor.

El método RowTop se puede usar con las propiedades RowHeight, Left y Width del objeto Column para determinar la ubicación y dimensión exactas de una celda elegida del control DBGrid.


RowTop (Ejemplo del método)
Ejemplo del método RowTop

Este ejemplo inicia una operación de arrastre en la cuadrícula. Mediante las propiedades de ubicación y tamaño de la celda de la cuadrícula, se usa un control Label del tamaño de la celda como objeto arrastrado.

Sub DBGrid1_MouseDown (Button As Integer, _

Shift As Integer, X As Single, Y As Single)

' Declarar variables.

Dim DY, DX, RowValue, ColValue, CellLeft, CellTop

   ColValue = DBGrid1.ColContaining(X)

   RowValue = DBGrid1.RowContaining(Y)

' Obtener el alto de la celda.

   DY = DBGrid1.RowHeight

' Obtener el ancho de la celda.

   DX = DBGrid1.Columns(ColValue).Width

CellLeft = DBGrid1.Columns(ColValue).Left

   CellTop = DBGrid1.RowTop(RowValue)

   Label1.Caption = DBGrid1.Columns(ColValue). _
CellValue(DBGrid1.RowBookmark(RowValue))

   Label1.Move CellLeft, CellTop, DX, DY

   Label1.Drag ' Arrastrar el contorno de la etiqueta.

End Sub


Scroll (Método)

Desplaza el control DBGrid horizontal y verticalmente en una única operación. No acepta argumentos con nombre.

Sintaxis

objeto.Scroll valor_columna, valor_fila

La sintaxis del método Scroll consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor_columna	Requerido. Una expresión numérica de tipo Long que especifica una columna del control.
valor_fila	Requerido. Una expresión numérica de tipo Long que especifica una fila del control.
Comentarios

Los valores positivos realizan desplazamientos hacia la derecha y hacia abajo. Los valores negativos realizan desplazamientos hacia la izquierda y hacia arriba. Los valores que están fuera del intervalo no producen ningún error: el control DBGrid se desplaza hasta el máximo posible. Se puede conseguir el mismo efecto si establece las propiedades FirstRow y LeftCol, pero de forma independiente, con lo que se provocan dos eventos Paint distintos.


Scroll (Ejemplo del método)
Ejemplo del método Scroll

Este ejemplo crea dos botones que le permiten desplazarse diagonalmente, uno para moverse hacia abajo y hacia la derecha y otro hacia arriba y hacia la izquierda

Sub ScrollDownRight_Click

' Se desplaza hacia abajo y hacia la derecha.

DBGrid1.Scroll DBGrid1.VisibleCols, DBGrid1.VisibleRows

End Sub

Sub ScrollUpLeft_Click

' Se desplaza hacia arriba y hacia la izquierda.

DBGrid1.Scroll -DBGrid1.VisibleCols, -DBGrid1.VisibleRows

End Sub


AllowAddNew (Propiedad)

Devuelve o establece un valor que indica si el usuario puede agregar nuevos registros al objeto Recordset subyacente a un control DBGrid.

Sintaxis

objeto.AllowAddNew [= valor]

La sintaxis de la propiedad AllowAddNew consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Una expresión booleana que determina si un usuario puede agregar nuevos registros, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	Los usuarios pueden agregar registros al objeto Recordset subyacente al control DBGrid.
False	Los usuarios no pueden agregar registros al objeto Recordset subyacente al control DBGrid.
Comentarios

Si la propiedad AllowAddnew es True, la última fila que se muestra en el control DBGrid se deja en blanco para permitir a los usuarios introducir nuevos registros. Si la propiedad AllowAddNew es False, no se muestra ninguna línea en blanco.

El objeto Recordset subyacente puede no permitir inserciones incluso aunque la propiedad AllowAddNew sea True. En este caso, se producirá un error si el usuario intenta agregar un registro.


AllowAddNew, AllowDelete y AllowUpdate (Ejemplo de las propiedades)
Ejemplo de las propiedades AllowAddNew, AllowDelete y AllowUpdate

Este ejemplo comprueba el valor de una casilla de verificación. Si es False, el usuario no puede realizar cambios en la cuadrícula.

Private Sub Form_Load ()

If Check1.Value = 0 Then

DBGrid1.AllowDelete = False

DBGrid1.AllowAddNew = False

DBGrid1.AllowUpdate = False

End If

End Sub


AllowDelete (Propiedad)

Devuelve o establece un valor que indica si el usuario puede eliminar registros del objeto Recordset subyacente a un control DBGrid.

Sintaxis

objeto.AllowDelete [= valor]

La sintaxis de la propiedad AllowDelete consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Una expresión booleana que determina si un usuario puede eliminar registros, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	Los usuarios pueden eliminar registros del objeto Recordset subyacente al control DBGrid.
False	Los usuarios no pueden eliminar registros del objeto Recordset subyacente al control DBGrid.
Comentarios

Utilice la propiedad AllowDelete para impedir que los usuarios eliminen registros del Recordset a través de la interacción con el control DBGrid.

El objeto Recordset subyacente puede no permitir eliminaciones incluso aunque la propiedad AllowDelete sea True para el control DBGrid. En este caso, se producirá un error si el usuario intenta eliminar un registro.


AllowSizing (Propiedad)

Devuelve o establece un valor que indica si el usuario puede modificar el tamaño o divisiones de las columnas del control DBGrid en tiempo de ejecución.

Sintaxis

objeto.AllowSizing [= valor]

La sintaxis de la propiedad AllowSizing consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Una expresión booleana que determina si se puede modificar el tamaño de una columna o división, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	(Predeterminado para Column) El usuario puede modificar el tamaño de una columna o división.
False	(Predeterminado para Split) El usuario no puede modificar el tamaño de una columna o división.
Comentarios

Si la propiedad AllowSizing es True, el puntero del mouse (ratón) se convierte en una flecha de doble punta (Tamaño O E) cuando se sitúa sobre el divisor de la columna especificada y el usuario puede modificar el tamaño de ésta mediante arrastre. Cualquier cambio de tamaño de columna provoca un evento ColResize.

Para la división izquierda con AllowSizing establecida a True, el puntero del mouse se convierte en un par de líneas verticales con una flecha hacia abajo cuando se sitúa sobre el cuadro de ajuste de tamaño de la división (en la esquina inferior izquierda) y el usuario puede crear una nueva división mediante arrastre. La creación de una nueva división produce un evento SplitChange.

Si AllowSizing es True para cualquier otra división, el puntero del mouse se convierte en un par de líneas verticales con una flecha de dos puntas cuando se sitúa sobre el cuadro de ajuste de tamaño de esa división y el usuario puede cambiar el tamaño de la división mediante arrastre. En este caso no se desencadena ningún evento (excepto los eventos estándar del mouse).


AllowSizing (Ejemplo de la propiedad)
Ejemplo de la propiedad AllowSizing

En este ejemplo se impide que el usuario modifique el tamaño o modifique las tres primeras columnas de la cuadrícula.

Private Sub Form_Load ()

Dim I

For I = 0 to 2

DBGrid1.Columns(I).AllowSizing = False

DBGrid1.Columns(I).Locked = True

Next I

End Sub


AllowRowSizing (Propiedad)

Devuelve o establece un valor que indica si un usuario puede modificar el tamaño de las filas del control DBGrid o el objeto Split en tiempo de ejecución.

Sintaxis

objeto.AllowRowSizing [= valor]

La sintaxis de la propiedad AllowRowSizing consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Una expresión booleana que determina si se puede modificar el tamaño de filas, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	El usuario puede establecer el tamaño de las filas.
False	El usuario no puede establecer el tamaño de las filas.
Comentarios

Si la propiedad AllowRowSizing es True, el puntero del mouse se convierte en una flecha de doble punta (Tamaño N S) cuando se sitúa sobre el divisor de filas entre cualquier selector de registro y el usuario puede modificar el tamaño de las filas mediante arrastre. Cualquier cambio de tamaño de fila provoca un evento RowResize.

Todas las filas del control DBGrid tienen siempre el mismo alto, que se determina mediante la propiedad RowHeight.

Nota   Aunque la propiedad AllowRowSizing esté establecida a False, el alto de las columnas todavía se pueden cambiar mediante programación con la propiedad RowHeight.


AllowRowSizing (Ejemplo de la propiedad)
Ejemplo de la propiedad AllowRowSizing

Este ejemplo comprueba en la base de datos si hay algún campo memo; si no hay ninguno, deshabilita la modificación de tamaño de filas.

Sub CheckForMemoField()

Dim Fld As Field

DBGrid1.AllowRowSizing = False

For Each Fld in Data1.Recordset.Fields

If Fld.Type = dbMemo Then

DBGrid1.AllowRowSizing = True

DBGrid1.RowHeight = DBGrid1.RowHeight * 2

Exit For

End If

Next

End Sub


AllowUpdate (Propiedad)

Devuelve o establece un valor que indica si un usuario puede modificar datos del control DBGrid.

Sintaxis

objeto.AllowUpdate [= valor]

La sintaxis de la propiedad AllowUpdate consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Una expresión booleana que determina si el usuario puede modificar datos, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	El usuario puede modificar datos del control DBGrid
False	El usuario no puede modificar datos del control DBGrid
Comentarios

Cuando la propiedad AllowUpdate es False, el usuario aún puede desplazarse a través del control DBGrid y seleccionar datos, pero no puede modificar ninguno de los valores; se pasa por alto cualquier intento de cambiar datos de la cuadrícula.

También puede utilizar las propiedades del objeto Column para hacer que columnas individuales del control DBGrid sean de sólo lectura, pero los valores de la propiedad AllowUpdate tienen prioridad sobre los valores establecidos para las columnas (sin modificar éstos).

Nota   El objeto Recordset quizá no permita actualizaciones incluso si AllowUpdate es True para el control DBGrid; en este caso se produce un error interceptable cuando el usuario intenta cambiar el registro.


ColIndex (Propiedad)

Devuelve un valor que indica la posición de la columna en la colección Columns del control DBGrid y la posición visible (de izquierda a derecha) de la columna en el control DBGrid. Esta propiedad es de sólo lectura en tiempo de ejecución y no está disponible en tiempo de diseño.

Sintaxis

objeto.ColIndex [= valor]

La sintaxis de la propiedad ColIndex consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Un entero comprendido entre 0 (la columna situada más a la izquierda) y el valor de la propiedad Count.
Comentarios

Esta propiedad devuelve el índice cero de una columna dentro de la colección Columns.


ColumnHeaders (Propiedad)

Devuelve o establece un valor que indica si los encabezados de columna se muestran en el control DBGrid.

Sintaxis

objeto.ColumnHeaders [= valor]

La sintaxis de la propiedad ColumnHeaders consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Una expresión booleana que determina si se muestran o no los encabezados de columna, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	Se muestran los encabezados de columna del control DBGrid
False	No se muestran los encabezados de columna del control DBGrid


Columns (Propiedad, DBGrid)

Devuelve una colección de objetos Column.

Sintaxis

objeto.Columns

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Aplicable a.

Comentarios

La propiedad Columns devuelve una colección de objetos Column en un Variant.

Puede manipular la mayoría de los atributos del control DBGrid si cambia las propiedades de los objetos Column. Elija un determinado objeto Column mediante la propiedad Col.


DataChanged (Propiedad, DBGrid)

Devuelve o establece un valor que indica que algún otro proceso distinto de la recuperación de datos del registro actual ha cambiado los datos del control enlazado. No está disponible en tiempo de diseño.

Sintaxis

objeto.DataChanged [= valor]

La sintaxis de la propiedad DataChanged consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Una expresión booleana que indica si los datos han cambiado, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	Los datos contenidos actualmente en el control no son los mismos que los del registro actual.
False	(Predeterminado) Los datos contenidos actualmente en el control, si hay alguno, son iguales que los del registro actual.
Comentarios

Cuando un control Data cambia de un registro a otro, pasa datos de los campos del registro actual a controles enlazados al campo específico o a todo el registro. A medida que se muestran datos en los controles enlazados, la propiedad DataChanged se establece a False. Si el usuario o cualquier otra operación cambia el valor del control enlazado, la propiedad DataChanged se establece a True. Con sólo cambiar a otro registro no se ve afectada la propiedad DataChanged.

Cuando un control Data empieza a cambiar a otro registro diferente, se produce el evento Validate. Si DataChanged es True para cualquier control enlazado, el control Data invoca automáticamente los métodos Edit y Update para enviar los cambios a la base de datos.

Si no desea guardar en la base de datos los cambios de un control enlazado, puede establecer la propiedad DataChanged a False en el evento Validate.

Inspeccione el valor de la propiedad DataChanged en el código para el evento Change de un control con el fin de evitar un evento en cascada. Esto se aplica tanto a los controles enlazados como a los no enlazados.

Tipo de dato

Integer (Boolean)


DataField (Propiedad, control DBGrid, objeto Column)

Devuelve o establece un valor que enlaza un control con un campo del registro actual.

Sintaxis

objeto.DataField [= valor]

La sintaxis de la propiedad DataField consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Una expresión de cadena que da como resultado el nombre de uno de los campos del objeto Recordset especificado por las propiedades RecordSource y DatabaseName del control Data.
Comentarios

Los controles enlazados proporcionan acceso a datos específicos de la base de datos. Los controles enlazados que administran un único campo suelen mostrar el valor de un campo específico del registro actual. La propiedad DataSource de un control enlazado especifica un nombre válido de control Data y la propiedad DataField especifica un nombre válido de campo del objeto Recordset creado por el control Data. Juntas, estas propiedades especifican los datos que aparecen en el control enlazado.

Cuando utiliza un objeto QueryDef o una instrucción SQL que devuelve el resultado de una expresión, el motor de base de datos Microsoft Jet genera automáticamente el nombre de campo. Por ejemplo, cuando incluye una función agregada de SQL o una expresión en la consulta SQL, a menos que ponga alias a los campos agregados mediante la cláusula AS, los nombres de los campos se generarán automáticamente. Normalmente, el nombre de campo de expresión es Expr1 seguido de un número de tres dígitos que empieza en 000. La primera expresión devuelta se llamaría Expr1000.

Se recomienda que escriba las consultas SQL para poner alias a las columnas de expresión, como se muestra a continuación:

Data1.RecordSource = "Select AVG(Sales)  " _

& " AS AverageSales From SalesTable"

Text1.DataField = "AverageSales"

Data1.Refresh

Nota   Asegúrese de que el valor de la propiedad DataField es válido para todos los controles enlazados. Si cambia el valor de la propiedad RecordSource de un control Data y después utiliza Refresh, el Recordset identificará el nuevo objeto. Esto puede invalidar los valores de DataField de los controles enlazados y producir un error interceptable.

Tipo de dato

String


DefColWidth (Propiedad)

Devuelve o establece un valor que indica el ancho de columna predeterminado para todas las columnas del control DBGrid.

Sintaxis

objeto.DefColWidth [= valor]

La sintaxis de la propiedad DefColWidth consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Un entero basado en el modo de escala del control.
Comentarios

Si establece la propiedad DefColWidth a 0, el control establece automáticamente el tamaño de todas las columnas en base al ancho del encabezado de columna o al valor de la propiedad Size del campo subyacente, seleccionando el mayor de los dos. Por ejemplo, para establecer el ancho predeterminado de todas las columnas al ancho de la primera columna:

DBGrid1.DefColWidth = DBGrid1.Columns(0).Width


DividerStyle (Propiedad)

Devuelve o establece un valor que especifica el estilo de borde dibujado en el lado derecho de la columna especificada de un control DBGrid.

Sintaxis

objeto.DividerStyle [= valor]

La sintaxis de la propiedad DividerStyle consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Un entero que especifica el estilo de borde, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Constante	Valor	Descripción
dbgNoDividers	0	Sin divisor
dbgBlackLine	1	Línea negra
dbgDarkGrayLine	2	(Predeterminado) Línea gris oscura
dbgRaised	3	En relieve
dbgInset	4	Recuadrado
dbgUserForeColor	5	El divisor se dibuja con el color establecido por la propiedad ForeColor
dbgLightGrayLine	6	Línea gris claro
Comentarios

La propiedad DividerStyle no afecta a la posibilidad o imposibilidad de cambiar el tamaño de una columna arrastrando su borde. Cuando el borde está en relieve o recuadrado, los colores utilizados están establecidos por Microsoft Windows.


DividerStyle (Ejemplo de la propiedad)
Ejemplo de la propiedad DividerStyle

Este ejemplo cambia el estilo de divisor de columna cuando el usuario hace clic en un encabezado.

Private Sub DBGrid1_HeadClick (ColIndex As Long)

If DBGrid1.Columns(ColIndex).DividerStyle <> 5 Then

DBGrid1.Columns(ColIndex).DividerStyle = _

 DBGrid1.Columns(ColIndex).DividerStyle + 1

Else

DBGrid1.Columns(ColIndex).DividerStyle = 0

End If

End Sub


FirstRow (Propiedad)

Devuelve o establece un valor que contiene el marcador para la primera fila visible del control DBGrid u objeto Split. No está disponible en tiempo de diseño.

Sintaxis

objeto.FirstRow [= valor]

La sintaxis de la propiedad FirstRow consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Una expresión de cadena que contiene un marcador correspondiente a la primera fila visible del control DBGrid.
Comentarios

Para un control DBGrid, establecer la propiedad FirstRow hace que la cuadrícula se desplace de forma que la fila especificada se convierta en la fila superior. Si una cuadrícula contiene múltiples divisiones, la fila superior cambiará en cada división, incluso aunque las divisiones tengan distintos valores de la propiedad ScrollGroup.

Para un objeto Split, establecer la propiedad FirstRow hace que la fila especificada se convierta en la fila superior para esa división únicamente.


HeadFont (Propiedad)

Devuelve o establece un valor que indica la fuente utilizada en los encabezados de columna de un control DBGrid.

Sintaxis

objeto.HeadFont [= valor]

La sintaxis de la propiedad HeadFont consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Una expresión de objeto que da como resultado un objeto Font. El valor predeterminado es la fuente actual de la columna en negrita.
Comentarios

Al cambiar la propiedad HeadFont puede modificarse el tamaño de los encabezados para acomodar a la nueva fuente.


HeadLines (Propiedad)

Devuelve o establece un valor que indica el número de líneas de texto que se muestran en los encabezados de columna del control DBGrid.

Sintaxis

objeto.HeadLines [= valor]

La sintaxis de la propiedad HeadLines consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Un valor de tipo Single de 0 a 10. El valor predeterminado es 1 y hace que el control muestre en el encabezado los nombres de los campos subyacentes de cada columna. Un valor 0 quita los encabezados.
Comentarios

La propiedad HeadLines puede usarse para mostrar más de una línea de texto en los encabezados de columna del control DBGrid.


HeadLines (Ejemplo de la propiedad)
Ejemplo de la propiedad HeadLines

En este ejemplo se comprueba el valor de una casilla de verificación para determinar si se deben mostrar o no los encabezados en la cuadrícula.

Private Sub Check1_Click ()

If Check1.Value = vbChecked Then

DBGrid1.HeadLines = 2	' Si se comprueba, dos

' líneas en encabezados.

Else

DBGrid1.HeadLines = 0	' Sin encabezado.

End If

End Sub


NumberFormat (Propiedad)

Devuelve o establece un valor que indica la cadena de formato para el objeto Column de un control DBGrid.

Sintaxis

objeto.NumberFormat [= valor]

La sintaxis de la propiedad NumberFormat consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Una expresión de cadena que define cómo se da formato a la expresión en la propiedad Value. El valor predeterminado es una cadena de longitud cero ("").
Comentarios

La propiedad Text del objeto Column se deriva aplicando este formato a la propiedad Value del objeto Column. Si NumberFormat se establece a una cadena no válida, los datos de las celdas se muestran como #ERR# y el valor establecido en la propiedad Value permanece inalterado. Vea la función Format para obtener información acerca de las cadenas de formato válidas.


NumberFormat (Ejemplo de la propiedad)
Ejemplo de la propiedad NumberFormat

Este ejemplo da formato a la segunda columna de un control DBGrid como long date:

Private Sub Command1_Click ()

DBGrid1.Columns(1).NumberFormat = "long date"

End Sub


RecordSelectors (Propiedad)

Devuelve o establece un valor que indica si se muestran los selectores de registro en el control DBGrid u objeto Split.

Sintaxis

objeto.RecordSelectors [= valor]

La sintaxis de la propiedad RecordSelectors consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Una expresión booleana que determina si se muestran los selectores de registro, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
True	Se muestran los selectores de registro.
False	No se muestran los selectores de registro.
Comentarios

Los selectores de registros, cuando se muestran, aparecen a la izquierda de las filas de la cuadrícula o la división.

Si una cuadrícula contiene múltiples divisiones, establecer su propiedad RecordSelectors tiene el mismo efecto que establecer la propiedad RecordSelectors de cada división individualmente.

Nota   Cuando el usuario hace clic en un selector de registro para seleccionar una fila, el marcador de posición de la fila seleccionada se agrega a la colección SelBookmarks.


RowDividerStyle (Propiedad)

Devuelve o establece un valor que especifica el estilo de borde que se dibuja entre las filas del control DBGrid seleccionado.

Sintaxis

objeto.RowDividerStyle [= valor]

La sintaxis de la propiedad RowDividerStyle consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Un entero que especifica el estilo de borde, como se describe en Valores.
Valores

Los valores admitidos para valor son:

Valor	Descripción
0	Sin divisor
1	Línea negra
2	(Valor predeterminado) Línea gris oscura
3	En relieve
4	Recuadrado
5	El divisor se dibuja usando el color establecido por la propiedad ForeColor
Comentarios

La propiedad RowDividerStyle no afecta a la posibilidad o imposibilidad de arrastrar el borde. Cuando el borde está en relieve o recuadrado, los colores utilizados están establecidos por Microsoft Windows.


RowDividerStyle (Ejemplo de la propiedad)
Ejemplo de la propiedad RowDividerStyle

En este ejemplo se alterna entre los diferentes estilos de líneas cuando se hace clic en un botón de comando.

Private Sub ChangeStyle_Click ()

If DBGrid1.RowDividerStyle < 5 Then

DBGrid1.RowDividerStyle = DBGrid1.RowDividerStyle + 1

Else

DBGrid1.RowDividerStyle = 0

End If

End Sub


SelBookmarks (Propiedad)

Devuelve una colección de marcadores para todos los registros seleccionados en el control DBGrid.

Sintaxis

objeto.SelBookmarks

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Aplicable a.

Comentarios

Cuando se selecciona un registro del control DBGrid, su marcador se anexa a la colección devuelta por la propiedad SelBookmarks. Por ejemplo, si crea un duplicado del objeto Recordset creado por el control DBGrid, puede procesar registros de datos individuales volviendo a colocar el objeto Recordset duplicado con marcadores obtenidos de la colección SelBookmarks.


SelBookmarks (Ejemplo de la propiedad)
Ejemplo de la propiedad SelBookmarks

En este ejemplo se forma un bucle que recorre las filas seleccionadas por el usuario y las elimina de la base de datos.

Sub DeleteRows()

Do While DBGrid1.SelBookmarks.Count <> 0

Data1.Recordset.Bookmark = DBGrid1.SelBookmarks(0)

Data1.Recordset.Delete

Data1.Refresh

Loop

End Sub


VisibleCols (Propiedad)

Devuelve un valor que indica el número de columnas visibles en el control DBGrid. No está disponible en tiempo de diseño y es de sólo lectura en tiempo de ejecución.

Sintaxis

objeto.VisibleCols

La sintaxis de la propiedad VisibleCols consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
Comentarios

La propiedad VisibleCols es un entero que va de 0 al número total de columnas disponibles, como determina la propiedad Count de la colección Columns.

Esta propiedad devuelve el número de columnas visibles en la división actual. El valor devuelto incluye tanto las columnas que se muestran en su totalidad como las que se muestran parcialmente.

Utilice la propiedad Split para determinar el índice de la división actual.


VisibleCols (Ejemplo de la propiedad)
Ejemplo de la propiedad VisibleCols

En este ejemplo se definen botones para mover la cuadrícula una página completa a la izquierda o a la derecha.

Private Sub PageRight_Click ()

' Mover la cuadrícula una página a la derecha.

If DBGrid1.LeftCol + DBGrid1.VisibleCols < _

 DBGrid1.Columns.Count Then

DBGrid1.LeftCol = DBGrid1.LeftCol + _

 DBGrid1.VisibleCols

End If

End Sub

Private Sub PageLeft_Click ()

' Mover la cuadrícula una página a la izquierda.

If DBGrid1.LeftCol - DBGrid1.VisibleCols >= 0 Then

DBGrid1.LeftCol = DBGrid1.LeftCol - _

 DBGrid1.VisibleCols

End If

End Sub


VisibleRows (Propiedad)

Devuelve un valor que indica el número de columnas visibles en el control DBGrid.

Sintaxis

objeto.VisibleRows

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Aplicable a.

Comentarios

La propiedad VisibleRows devuelve un entero comprendido entre 0 y el número de filas del control DBGrid. La propiedad VisibleRows incluye filas del control DBGrid total o parcialmente visibles.


VisibleRows (Ejemplo de la propiedad)
Ejemplo de la propiedad VisibleRows

En este ejemplo se seleccionan todas las filas visibles actualmente en la cuadrícula.

Private Sub SelectVisible_Click ()

Dim I

For I = 0 To DBGrid1.VisibleRows - 1

DBGrid1.SelBookmarks.Add DBGrid1.RowBookmark(I)

Next I

End Sub


DefaultValue (Propiedad, DBGrid)

Establece el valor predeterminado para un objeto Column en un control DBGrid independiente.

Sintaxis

objeto.DefaultValue [= valor]

La sintaxis de la propiedad DefaultValue consta de las siguientes partes:

Parte	Descripción
objeto	Una expresión de objeto que da como resultado un objeto de la lista Aplicable a.
valor	Una expresión de tipo Variant que contiene el valor predeterminado para la columna especificada.
Comentarios

El control DBGrid no utiliza esta propiedad por sí misma, sino que la proporciona como un marcador de posición para que asocie valores predeterminados con columnas en una cuadrícula no enlazada. En el evento UnboundAddData, puede utilizar esta propiedad para recuperar los valores predeterminados para las columnas no suministradas por el usuario final. Dichas columnas contendrán un variant Null en la correspondiente matriz de propiedades RowBuffer.Value. Esta propiedad también puede utilizarse como etiqueta para una columna (ya sea enlazada o no enlazada). Los valores arbitrarios pueden almacenarse y recuperarse posteriormente.


Change (Evento) (marcador de posición)
Change Event (placeholder)


Click (Evento) (marcador de posición)
Click Event (placeholder)


DblClick (Evento) (marcador de posición)
DblClick Event (placeholder)


DragDrop (Evento) (marcador de posición)
DragDrop Event (placeholder)


DragOver (evento, marcador de posición)
DragOver Event (placeholder)


KeyDown (Evento) (marcador de posición)
KeyDown Event (placeholder)


KeyPress (Evento) (marcador de posición)
KeyPress Event (placeholder)


KeyUp (Evento) (marcador de posición)
KeyUp Event (placeholder)


MouseDown (Evento) (marcador de posición)
MouseDown Event (placeholder)


MouseMove (Evento) (marcador de posición)
MouseMove Event (placeholder)


MouseUp (Evento) (marcador de posición)
MouseUp Event (placeholder)


OLECompleteDrag (Evento) (marcador de posición)
OLECompleteDragEvent (placeholder)


OLEDragDrop (Evento) (marcador de posición)
OLEDragDrop Event (placeholder)


OLEDragOver (Evento) (marcador de posición)
OLEDragOver Event (placeholder)


OLEGiveFeedback (Evento) (marcador de posición)
OLEGiveFeedback Event (placeholder)


OLESetData (Evento) (marcador de posición)
OLESetData Event (placeholder)


OLEStartDrag (Evento) (marcador de posición)
OLEStartDrag Event (placeholder)


Refresh (Método) (marcador de posición)
Refresh Method (placeholder)


OLEDrag (Método) (marcador de posición)
OLEDrag Method (placeholder)


Appearance (Propiedad) (marcador de posición)
Appearance Property (placeholder)


BackColor (Propiedad) (marcador de posición)
BackColor Property (placeholder)


Caption (Propiedad) (marcador de posición)
Caption Property (placeholder)


Enabled (Propiedad) (marcador de posición)
Enabled Property (placeholder)


Font (Propiedad) (marcador de posición)
Font Property (placeholder)


ForeColor (Propiedad) (marcador de posición)
ForeColor Property (placeholder)


IntegralHeight (Propiedad) (marcador de posición)
IntegralHeight Property (placeholder)


Locked (Propiedad) (marcador de posición)
Locked Property (placeholder)


MouseIcon (Propiedad) (marcador de posición)
MouseIcon Property (placeholder)


MousePointer (Propiedad) (marcador de posición)
MousePointer Property (placeholder)


OLEDragMode (Propiedad) (marcador de posición)
OLEDragMode Property (placeholder)


OLEDropMode (Propiedad) (marcador de posición)
OLEDropMode Property (placeholder)


SelLength (Propiedad) (marcador de posición)
SelLength Property (placeholder)


SelStart (Propiedad) (marcador de posición)
SelStart Property (placeholder)


SelText (Propiedad) (marcador de posición)
SelText Property (placeholder)


Style (Propiedad) (marcador de posición)
Style Property (placeholder)


Text (Propiedad) (marcador de posición)
Text Property (placeholder)


Palabra clave no encontrada

La palabra clave seleccionada no se pudo encontrar en la Ayuda de Visual Basic. Puede que:

•	Haya escrito mal la palabra clave

•	Haya seleccionado demasiado texto o muy poco texto

•	Haya solicitado Ayuda acerca de una palabra que no es una palabra clave válida de Visual Basic

La manera más sencilla de obtener Ayuda acerca de una palabra clave concreta es colocar el punto de inserción en cualquier parte de esa palabra clave y presionar F1. No necesita seleccionar la palabra clave. De hecho, si sólo selecciona una parte de la palabra clave o si selecciona más de una palabra, la Ayuda no encontrará lo que busca.

Para utilizar el cuadro de diálogo incorporado de búsqueda en la Ayuda, presione el botón Temas de Ayuda de la barra de herramientas.

Una opción para buscar lo que desea es ver el archivo Léame suministrado con Visual Basic. Este documento contiene información relativa a cambios, adiciones y eliminaciones de última hora no incluidos en la documentación final.


Left, Top (Propiedades) (marcador de posición)
Left, Top Properties (Placeholder)


Height, Width (Propiedades) (marcador de posición)
Height, Width Properties (Placeholder)


Tag (Propiedad) (marcador de posición)
Tag Property (Placeholder)


ToolTipText (Propiedad) (marcador de posición)
ToolTipText Property (Placeholder)


Count (Propiedad) (marcador de posición)
Count Property (Placeholder)


Item (Método) (marcador de posición)
Item Method (Placeholder)


Hwnd (Propiedad) (marcador de posición)
Hwnd Property (Placeholder)


TabStop (Propiedad) (marcador de posición)
TabStop Property (Placeholder)


Visible (Propiedad) (marcador de posición)
Visible Property (Placeholder)


Picture (Propiedad) (marcador de posición)
Picture Property (placeholder)


Max, Min (Propiedades) (marcador de posición)
Max, Min Properties (placeholder)


Add (Método) (marcador de posición)
Add Method (placeholder)


Clear (Método) (marcador de posición)
Clear Method (placeholder)


Container (Propiedad) (marcador de posición)
Container Property (placeholder)


Controls (Colección) (marcador de posición)
Controls Collection (placeholder)


Copies (Propiedad) (marcador de posición)
Copies Property (placeholder)


DataBinding (Objeto) (marcador de posición)
DataBinding Object (placeholder)


DataBindings (Colección) (marcador de posición)
DataBindings Collection (placeholder)


Filename (Propiedad) (marcador de posición)
Filename Property (placeholder)


FontBold, FontItalic, FontStrikeThru (Propiedades) (marcador de posición)
FontBold, FontItalic, FontStrikeThru Properties (placeholder)


FontName (Propiedad) (marcador de posición)
FontName Property (placeholder)


FontSize (Propiedad) (marcador de posición)
FontSize Property (placeholder)


GetData (Método) (marcador de posición)
GetData Method (placeholder)


GetFormat (Método) (marcador de posición)
GetFormat Method (placeholder)


HelpFile (Propiedad) (marcador de posición)
HelpFile Property (placeholder)


Item (Propiedad) (marcador de posición)
Item Property (placeholder)


Remove (Método) (marcador de posición)
Remove Method (placeholder)


SetData (Método) (marcador de posición)
SetData Method (placeholder)


Align (Propiedad) (marcador de posición)
Align Property (placeholder)


DragIcon (Propiedad) (marcador de posición)
DragIcon Property (placeholder)


DragMode (Propiedad) (marcador de posición)
DragMode Property (placeholder)


HelpContextID (Propiedad) (marcador de posición)
HelpContextID Property (placeholder)


TabIndex (Propiedad) (marcador de posición)
TabIndex Property (placeholder)


Constantes de alineación (marcador de posición)
Alignment Constants (placeholder)


Border (Constantes de la propiedad) (marcador de posición)
Border Property Constants (placeholder)


BorderStyle (Constantes) (marcador de posición)
BorderStyle Constants (placeholder)


BorderStyle (Propiedad, controles ActiveX) (marcador de posición)
BorderStyle Property (ActiveX Controls) (placeholder)


Clear (Método, controles ActiveX) (marcador de posición)
Clear Method (ActiveX Controls) (placeholder)


Clipboard (Constantes del objeto) (marcador de posición)
Clipboard Object Constants (placeholder)


Constantes de color (marcador de posición)
Color Constants (placeholder)


CommonDialog (Constantes del control) (marcador de posición)
CommonDialog Control Constants (placeholder)


CommonDialog (Constantes de error) (marcador de posición)
CommonDialog Error Constants (placeholder)


Constantes de controles (marcador de posición)
Control Constants (placeholder)


DataBindings (Propiedad) (marcador de posición)
DataBindings Property (placeholder)


DDE (Constantes) (marcador de posición)
DDE Constants (placeholder)


Constantes de Arrastrar y colocar (marcador de posición)
Drag-and-Drop Constants (placeholder)


Constantes de dibujo (marcador de posición)
Drawing Constants (placeholder)


FetchVerbs (Método) (marcador de posición)
FetchVerbs Method (placeholder)


Constantes de formularios (marcador de posición)
Form Constants (placeholder)


Constantes gráficas (marcador de posición)
Graphics Constants (placeholder)


Grid (Constantes del control) (marcador de posición)
Grid Control Constants (placeholder)


Constantes de Ayuda (marcador de posición)
Help Constants (placeholder)


HideSelection (Propiedad, controles ActiveX) (marcador de posición)
HideSelection Property (ActiveX Controls) (placeholder)


HideSelection (Propiedad) (marcador de posición)
HideSelection Property (placeholder)


Image (Propiedad, controles ActiveX) (marcador de posición)
Image Property (ActiveX Controls) (placeholder)


ImageList (Propiedad, controles ActiveX) (marcador de posición)
ImageList Property (ActiveX Controls) (placeholder)


Index (Propiedad, controles ActiveX) (marcador de posición)
Index Property (ActiveX Controls) (placeholder)


Index (Propiedad) (marcador de posición)
Index Property (placeholder)


Constantes de códigos de tecla (marcador de posición)
Key Code Constants (placeholder)


Key (Propiedad, controles ActiveX) (marcador de posición)
Key Property (ActiveX Controls) (placeholder)


Constantes de aceleradoras para menús (marcador de posición)
Menu Accelerator Constants (placeholder)


Menu (Constantes del control) (marcador de posición)
Menu Control Constants (placeholder)


Otras constantes (marcador de posición)
Miscellaneous Constants (placeholder)


MousePointer (Constantes) (marcador de posición)
MousePointer Constants (placeholder)


Contenedor OLE (Constantes del control) (marcador de posición)
OLE Container Control Constants (placeholder)


Picture (Constantes del objeto) (marcador de posición)
Picture Object Constants (placeholder)


Printer (Constantes del objeto) (marcador de posición)
Printer Object Constants (placeholder)


Constantes para operaciones con gráficos (marcador de posición)
RasterOp Constants (placeholder)


Remove (Método, controles ActiveX) (marcador de posición)
Remove Method (ActiveX Controls) (placeholder)


ShowInTaskbar (Propiedad) (marcador de posición)
ShowInTaskbar Property (placeholder)


ShowTips (Propiedad, controles ActiveX) (marcador de posición)
ShowTips Property (ActiveX Controls) (placeholder)


ShowWhatsThis (Método) (marcador de posición)
ShowWhatsThis Method (placeholder)


Text (Propiedad, controles ActiveX) (marcador de posición)
Text Property (ActiveX Controls) (placeholder)


Value (Propiedad, controles ActiveX) (marcador de posición)
Value Property (ActiveX Controls) (placeholder)


Constantes de tipo Variant (marcador de posición)
Variant Type Constants (placeholder)


Constantes de Visual Basic (marcador de posición)
Visual Basic Constants (placeholder)


WhatsThisButton (Propiedad) (marcador de posición)
WhatsThisButton Property (placeholder)


WhatsThisHelp (Propiedad) (marcador de posición)
WhatsThisHelp Property (placeholder)


WhatsThisHelpID (Propiedad) (marcador de posición)
WhatsThisHelpID Property (placeholder)


WhatsThisMode (Método) (marcador de posición)
WhatsThisMode Method (placeholder)


Constantes de los controles ActiveX (marcador de posición)
Windows 95 Control Constants (placeholder)


ColIsVisible (Propiedad) (marcador de posición)
ColIsVisible Property (placeholder)


ColPos (Propiedad) (marcador de posición)
ColPos Property (placeholder)


DataObject (Objeto) (marcador de posición)
DataObject Object (placeholder)


DataObjectFiles (Colección) (marcador de posición)
DataObjectFiles Collection (placeholder)


DataSource (Propiedad) (marcador de posición)
DataSource Property (placeholder)


Drag (Método) (marcador de posición)
Drag Method (placeholder)


DrawMode (Propiedad) (marcador de posición)
DrawMode Property (placeholder)


FixedAlignment (Propiedad) (marcador de posición)
FixedAlignment Property (placeholder)


GotFocus (Evento) (marcador de posición)
GotFocus Event (placeholder)


GridLineWidth (Propiedad) (marcador de posición)
GridLineWidth Property (placeholder)


Index (Propiedad, matriz de controles) (marcador de posición)
Index Property (Control Array) (placeholder)


LostFocus (Evento) (marcador de posición)
LostFocus Event (placeholder)


Move (Método) (marcador de posición)
Move Method (placeholder)


Name (Propiedad) (marcador de posición)
Name Property (placeholder)


Object (Propiedad) (marcador de posición)
Object Property (placeholder)


Parent (Propiedad) (marcador de posición)
Parent Property (placeholder)


RowColChange (Evento) (marcador de posición)
RowColChange Event (placeholder)


RowIsVisible (Propiedad) (marcador de posición)
RowIsVisible Property (placeholder)


RowPos (Propiedad) (marcador de posición)
RowPos Property (placeholder)


SetFocus (Método) (marcador de posición)
SetFocus Method (placeholder)


ZOrder (Método) (marcador de posición)
ZOrder Method (placeholder)


Files (Método) (marcador de posición)
Files Method (placeholder)


Connect (Evento) (marcador de posición)
Connect Event (placeholder)


HScrollSmallChange, VScrollSmallChange (Propiedades) (marcador de posición)
HScrollSmallChange, VScrollSmallChange Properties (placeholder)


MinHeight, MinWidth (Propiedades) (marcador de posición)
MinHeight, MinWidth Properties (placeholder)


Páginas de propiedades (Cuadro de diálogo) (marcador de posición)
Property Pages Dialog Box (placeholder)


RemoteHost (Propiedad) (marcador de posición)
RemoteHost Property (placeholder)


RemotePort (Propiedad) (marcador de posición)
RemotePort Property (placeholder)


ViewportHeight, ViewportLeft, ViewportTop, ViewportWidth (Propiedades) (marcador de posición)
ViewportHeight, ViewportLeft, ViewportTop, ViewportWidth Properties (placeholder)


Resync (Método, datos remotos) (marcador de posición)
Resync Method (Remote Data) (placeholder)


ContainedVBControls (Colección) (marcador de posición)
ContainedVBControls Collection (placeholder)


Member (Objeto) (marcador de posición)
Member Object (placeholder)


Members (Colección) (marcador de posición)
Members Collection (placeholder)


VBComponentsEvents (Objeto) (marcador de posición)
VBComponentsEvents Object (placeholder)


VBProjectsEvents (Objeto) (marcador de posición)
VBProjectsEvents Object (placeholder)


Files (Propiedad) (marcador de posición)
Files Property (placeholder)


Alignment (Propiedad) (marcador de posición)
Alignment Property (placeholder)


AboutBox (Método) (marcador de posición)
AboutBox Method (placeholder)


Col, Row (Propiedades) (marcador de posición)
Col, Row Properties (placeholder)


RowHeight (Propiedad) (marcador de posición)
RowHeight Property (placeholder)


Scroll (Evento) (marcador de posición)
Scroll Event (placeholder)


ScrollBars (Propiedad) (marcador de posición)
ScrollBars Property (placeholder)


SelEndCol, SelStartCol, SelEndRow, SelStartRow (Propiedades) (marcador de posición)
SelEndCol, SelStartCol, SelEndRow, SelStartRow Properties (placeholder)


ScrollBars Property (placeholder)


Appearance (Propiedad, controles ActiveX) (marcador de posición)
Appearance Property (ActiveX Controls) (placeholder)


BackColor, ForeColor (Propiedades, controles ActiveX) (marcador de posición)
BackColor, ForeColor Properties (ActiveX Controls) (placeholder)


BorderStyle (Constantes, controles ActiveX) (marcador de posición)
BorderStyle Constants (ActiveX Controls) (placeholder)


Caption (Propiedad, controles ActiveX) (marcador de posición)
Caption Property (ActiveX Controls) (placeholder)


Change (Evento, controles ActiveX) (marcador de posición)
Change Event (ActiveX Controls) (placeholder)


Clear (Método, controles ActiveX) (marcador de posición)
Clear Method (ActiveX Controls) (placeholder)


Click (Evento, controles ActiveX) (marcador de posición)
Click Event (ActiveX Controls) (placeholder)


Constantes del objeto Clipboard (controles ActiveX) (marcador de posición)
Clipboard Object Constants (ActiveX Controls) (placeholder)


Count (Propiedad, controles ActiveX) (marcador de posición)
Count Property (ActiveX Controls) (placeholder)


DataObject (Objeto, controles ActiveX) (marcador de posición)
DataObject Object (ActiveX Controls) (placeholder)


DataObjectFiles (Colección, controles ActiveX) (marcador de posición)
DataObjectFiles Collection (ActiveX Controls) (placeholder)


DataSource (Propiedad, controles ActiveX) (marcador de posición)
DataSource Property (ActiveX Controls) (placeholder)


DblClick (Evento, controles ActiveX) (marcador de posición)
DblClick Event (ActiveX Controls) (placeholder)


Constantes de Arrastrar y colocar (controles ActiveX) (marcador de posición)
Drag-and-Drop Constants (ActiveX Controls) (placeholder)


Enabled (Propiedad, controles ActiveX) (marcador de posición)
Enabled Property (ActiveX Controls) (placeholder)


FetchVerbs (Método, controles ActiveX) (marcador de posición)
FetchVerbs Method (ActiveX Controls) (placeholder)


Files (Método, controles ActiveX) (marcador de posición)
Files Method (ActiveX Controls) (placeholders)


Font (Propiedad, controles ActiveX) (marcador de posición)
Font Property (ActiveX Controls) (placeholder)


FontName (Propiedad, controles ActiveX) (marcador de posición)
FontName Property (ActiveX Controls) (placeholder)


FontSize (Propiedad, controles ActiveX) (marcador de posición)
FontSize Property (ActiveX placeholder)


GetData (Método, controles ActiveX) (marcador de posición)
GetData Method (ActiveX Controls) (placeholder)


GetFormat (Método, controles ActiveX) (marcador de posición)
GetFormat Method (ActiveX Controls) (placeholder)


HideSelection (Propiedad, controles ActiveX) (marcador de posición)
HideSelection Property (ActiveX Controls) (complaceholder)


hWnd (Propiedad, controles ActiveX) (marcador de posición)
hWnd Property (ActiveX Controls) (placeholder)


Item (Método, controles ActiveX) (marcador de posición)
Item Method (ActiveX Controls) (placeholder)


Constantes de códigos de tecla (controles ActiveX) (marcador de posición)
Key Code Constants (ActiveX Controls) (placeholder)


Key (Propiedad, controles ActiveX) (marcador de posición)
Key Property (ActiveX Controls) (complaceholder)


KeyDown, KeyUp (Eventos, controles ActiveX) (marcador de posición)
KeyDown, KeyUp Events (ActiveX Controls) (placeholder)


KeyPress (Evento, controles ActiveX) (marcador de posición)
KeyPress Event (ActiveX Controls) (placeholder)


Max, Min (Propiedades, controles ActiveX) (marcador de posición)
Max, Min Properties (ActiveX Controls) (placeholder)


MouseDown, MouseUp (Eventos, controles ActiveX) (marcador de posición)
MouseDown, MouseUp Events (ActiveX Controls) (placeholder)


MouseIcon (Propiedad, controles ActiveX) (marcador de posición)
MouseIcon Property (ActiveX Controls) (placeholder)


MouseMove (Evento, controles ActiveX) (marcador de posición)
MouseMove Event (ActiveX Controls) (placeholder)


MousePointer (Constantes, controles ActiveX) (marcador de posición)
MousePointer Constants (ActiveX Controls) (placeholder)


MousePointer (Propiedad, controles ActiveX) (marcador de posición)
MousePointer Property (ActiveX Controls) (placeholder


OLECompleteDrag (Evento, controles ActiveX) (marcador de posición)
OLECompleteDrag Event (ActiveX Controls) (placeholder)


OLEDrag (Método, controles ActiveX) (marcador de posición)
OLEDrag Method (ActiveX Controls) (placeholder)


OLEDragDrop (Evento, controles ActiveX) (marcador de posición)
OLEDragDrop Event (ActiveX Controls) (placeholder)


OLEDragMode (Propiedad, controles ActiveX) (marcador de posición)
OLEDragMode Property (ActiveX Controls) (placeholder)


OLEDragOver (Evento, controles ActiveX) (marcador de posición)
OLEDragOver Event (ActiveX Controls) (placeholder)


OLEDropMode (Propiedad, controles ActiveX) (marcador de posición)
OLEDropMode Property (ActiveX Controls) (placeholder)


OLEGiveFeedback (Evento, controles ActiveX) (marcador de posición)
OLEGiveFeedback Event (ActiveX Controls) (placeholder)


OLESetData (Evento, controles ActiveX) (marcador de posición)
OLESetData Event (ActiveX Controls) (placeholder)


OLEStartDrag (Evento, controles ActiveX) (marcador de posición)
OLEStartDrag Event (ActiveX Controls) (placeholder)


Picture (Propiedad, controles ActiveX) (marcador de posición)
Picture Property (ActiveX Controls) (placeholder)


Páginas de propiedades (Cuadro de diálogo, controles ActiveX) (marcador de posición)
Property Pages Dialog Box (ActiveX Controls) (placeholder)


RemoteHost (Propiedad, controles ActiveX) (marcador de posición)
RemoteHost Property (ActiveX Controls) (placeholder)


RemotePort (Propiedad, controles ActiveX) (marcador de posición)
RemotePort Property (ActiveX Controls) (placeholder)


SelLength, SelStart, SelText (Propiedades, controles ActiveX) (marcador de posición)
SelLength, SelStart, SelText Properties (ActiveX Controls) (placeholder)


SetData (Método, controles ActiveX) (marcador de posición)
SetData Method (ActiveX Controls) (placeholder)


ShowTips (Propiedad, controles ActiveX) (marcador de posición)
ShowTips Property (ActiveX Controls) (complaceholder)


Text (Propiedad, controles ActiveX) (marcador de posición)
Text Property (ActiveX Controls) (complaceholder)


Value (Propiedad, controles ActiveX) (marcador de posición)
Value Property (ActiveX Controls) (complaceholder)


hDC (Propiedad, controles ActiveX) (marcador de posición)
hDC Property (ActiveX Controls) (complaceholder)


Height, Width (Propiedades, controles ActiveX) (marcador de posición)
Height, Width Properties (ActiveX Controls) (complaceholder)


Index (Propiedad, controles ActiveX) (marcador de posición)
Index Property (ActiveX Controls) (complaceholder)


Left, Top (Propiedades, controles ActiveX) (marcador de posición)
Left, Top Properties (ActiveX Controls) (complaceholder)


Tag (Propiedad, controles ActiveX) (marcador de posición)
Tag Property (ActiveX Controls) (complaceholder)


Visible (Propiedad, controles ActiveX) (marcador de posición)
Visible Property (ActiveX Controls) (complaceholder)


Remove (Método, controles ActiveX) (marcador de posición)
Remove Method (ActiveX Controls) (complaceholder)


Object (Propiedad, controles ActiveX) (marcador de posición)
Object Property (ActiveX Controls) (placeholder)


Páginas de propiedades (controles ActiveX) (marcador de posición)
Property Pages (ActiveX controls) (placeholder)


No hay ninguna fuente (Error 24574) (control de diálogo común) (marcador de posición)
No fonts exist (Error 24574) (Common Dialog Control) (complaceholder)


Temas de Ayuda (marcador de posición)
Help Contents placeholder


BorderStyle (Propiedad, controles ActiveX) (marcador de posición)
BorderStyle Property (ActiveX Controls) (placeholder)


RightToLeft (Propiedad, controles ActiveX) (marcador de posición)
RightToLeft Property (ActiveX Controls) (placeholder)


Refresh (Método, controles ActiveX) (marcador de posición)
Refresh Method (ActiveX Controls) (placeholder)