DataGrid (Control)

Muestra y permite la manipulación de datos de una serie de filas y columnas que corresponden a registros y campos de un objeto Recordset.

Sintaxis

DataGrid

Comentarios

El comportamiento del control DataGrid con los datos es similar al del control Grid, aunque en el caso del control DataGrid es posible establecer la propiedad DataSource con un control Data con el fin de mostrar datos y establecer los encabezados de columna automáticamente a partir del Recordset de un control Data. El control DataGrid es en realidad una colección prefijada de columnas, cada una de las cuentas con un número indeterminado de filas.

Cada celda de un control DataGrid puede almacenar valores de texto, pero no puede recibir objetos vinculados o incrustados. Es posible especificar la celda activa por programa, mientras que el usuario puede emplear el mouse (ratón) o las teclas de dirección en tiempo de ejecución para cambiarla. Las celdas pueden modificarse de forma interactiva (escribiendo en ellas) o por programa y pueden seleccionarse individualmente o por fila completa.

El texto se ajusta y continúa en la línea siguiente de la misma celda cuando es demasiado largo y no se puede mostrar en ésta. Para ver el texto ajustado es necesario incrementar el valor de la propiedad Width del objeto Column de la celda o el valor de la propiedad RowHeight del control DataGrid. Es posible cambiar de forma interactiva el ancho de columna en tiempo de diseño si modifica el tamaño de la columna o mediante la página de propiedades del objeto Column.

Utilice la propiedad Count de la colección Columns del control DataGrid y la propiedad RecordCount del objeto Recordset para determinar el número de filas y columnas presentes en el control. Un control DataGrid puede tener hasta 32767 columnas y tantas filas como permitan los recursos del sistema.

La propiedad ColIndex se establece cuando se selecciona una celda, lo que selecciona uno de los objetos Column de la colección Columns del objeto DataGrid. Las propiedades Text y Valor del objeto Column hacen referencia al contenido de la celda actual. La propiedad Bookmark permite tener acceso a los datos de la fila actual, lo que proporciona acceso al registro del objeto Recordset subyacente. Cada columna del control DataGrid tiene sus propios atributos de fuente, borde, ajuste de texto, etc. que se pueden establecer para cada columna independientemente. En tiempo de diseño es posible establecer el ancho de columna y el alto de fila, así como especificar columnas invisibles para el usuario. También puede impedir a los usuarios cambiar el formato en tiempo de ejecución.

Nota Si establece cualquiera de las propiedades de columna DataGrid en tiempo de diseño y desea mantener los mismos valores para todas las columnas, tendrá que establecer la propiedad de cada una de ellas.

Nota Cuando se utiliza el método Move para el control DataGrid, conviene usar el método Refresh para forzar que se dibuje de nuevo.

El comportamiento del control DataGrid es similar al del control DBGrid, excepto en que no admite un modo no enlazado.

Nota Este control está habilitado para Unicode. En caso de usarse en sistemas habilitados para Unicode (como Windows NT), el control pasa los datos Unicode sin convertirlos. No obstante, en otros sistemas, los datos se convierten de ANSI a Unicode y viceversa. Para obtener más información vea "ANSI, DBCS y Unicode: definiciones" en el Manual del programador.


No se encuentra el tema

No se halló el tema correspondiente. A continuación enumeramos algunas posibles razones y sus soluciones:

  • El archivo (.chm) que contiene el tema de destino no se encuentra en la ubicación esperada.

    Solución: vuelva a ejecutar la instalación de la Biblioteca MSDN.

  • El archivo (.chm) que contiene el tema actual o el de destino no está actualizado y el vínculo ya no es válido.

    Solución: instale la última versión de la Biblioteca MSDN.

  • El CD de la Biblioteca MSDN no está en la unidad de CD-ROM.

    Solución: inserte el CD en la unidad.


AfterColUpdate (Evento)

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

Sintaxis

Private Sub objeto_AfterColUpdate ([index As Integer,] colindex 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 Se aplica a.
index | Un entero que identifica un control si está dentro de una matriz de controles.
colindex | Un entero que identifica la columna del control.

Comentarios

Cuando un usuario completa la modificación de una celda de un control DataGrid, 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.


Ejemplo del evento AfterColUpdate

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

Private Sub DataGrid1_AfterColUpdate (ColIndex As Integer)
   If ColIndex = 1 Then
      Data1.Recordset.FindFirst "IdPub = " _
       & DataGrid1.Columns(1).Value
      If Not Data1.Recordset.NoMatch Then
         DataGrid1.Columns(2).Value = _
          Data1.Recordset.Fields("Editor")
      Else
         DataGrid1.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 DataGrid.

Sintaxis

Private Sub objeto_AfterDelete ([index As Integer,] colindex 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 Se aplica a.
index | Un entero que identifica un control específico si está en una matriz de controles.
colindex | Un entero que identifica la columna.

Comentarios

Cuando un usuario selecciona un selector de registro del control DataGrid 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.


Ejemplo del evento AfterDelete

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

Private Sub DataGrid1_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 DataGrid.

Sintaxis

Private Sub objeto_AfterInsert (index 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 Se aplica a.
index | 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 usarse 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.


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 DataGrid1_AfterInsert ()
   If DataGrid1.Columns(1).Value <> "" Then
      Data2.Recordset.AddNew
      Data2.Recordset.Fields("IdPub") = DataGrid1.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 DataGrid.

Sintaxis

Sub objeto_AfterUpdate (index 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 Se aplica a.
index | 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 DataGrid.

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.


Ejemplo del evento AfterUpdate

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

Private Sub DataGrid1_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 DataGrid.

Sintaxis

Private Sub objeto_BeforeColUpdate ([index As Integer,] colindex As Integer, oldvalue As Variant, cancel 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 Se aplica a.
index | Un entero que identifica un control si está en una matriz de controles.
colindex | Un entero que identifica la columna.
valorAnterior | 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 valorAnterior 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 valorAnterior 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 valorAnterior en la celda y permitir que el usuario quite el enfoque de dicha celda, establezca cancelar a False y establezca la celda a valorAnterior de la forma siguiente:

Cancel = False
DataGrid1.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.


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 DataGrid1_BeforeColUpdate (ColIndex As Integer, OldValue As Variant, Cancel As Integer)
   If ColIndex = 1 Then
      If DataGrid1.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 DataGrid.

Sintaxis

Private Sub objeto_BeforeDelete ([index As Integer,] cancel 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 Se aplica a.
index | Un entero que identifica un control si está en una matriz de controles.
cancel | 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 No se puede eliminar múltiples filas.


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 DataGrid1_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 DataGrid.

Sintaxis

Private Sub objeto_BeforeInsert ([ index As Integer,] cancel 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 Se aplica a.
index | Un entero que identifica un control si está en una matriz de controles.
cancel | 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 DataGrid) 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 DataGrid hasta que el procedimiento termina.

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


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 DataGrid1_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 DataGrid pasen al búfer de copia del control.

Sintaxis

Private Sub objeto_BeforeUpdate ([index As Integer,] cancel 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 Se aplica a.
index | Un entero que identifica un control si está en una matriz de controles.
cancel | 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 DataGrid 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 DataGrid 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 DataGrid.

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 usar 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.


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 DataGrid1_BeforeUpdate (Cancel As Integer)
   If DataGrid1.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 DataGrid.

Sintaxis

Private Sub objeto_ColResize ([ index As Integer,] colindex As Integer, cancel 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 Se aplica a.
index | Un entero que identifica un control si está en una matriz de controles.
colindex | Un entero que identifica la columna.
cancel | 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.


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 DataGrid1_ColResize (ColIndex As Integer, Cancel As Integer)
   Dim nCol As Column
   If ColIndex = 1 Then
      For Each nCol In DataGrid1.Columns
         nCol.Width = DataGrid1.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 DataGrid.

Sintaxis

Private Sub objeto_HeadClick ([ index As Integer,] colindex 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 Se aplica a.
index | Un entero que identifica un control si está en una matriz de controles.
colindex | Un entero que identifica la columna.

Comentarios

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


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 DataGrid1_HeadClick (ColIndex As Integer)
   Data1.RecordSource = "Select * From Publishers Order By " & _
    DataGrid1.Columns(ColIndex).DataField
   Data1.Refresh
End Sub


RowResize (Evento)

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

Sintaxis

Private Sub objeto_RowResize ([ index As Integer,] cancel 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 Se aplica a.
index | Un entero que identifica un control si está en una matriz de controles.
cancel | 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 DataGrid 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 DataGrid 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.


Ejemplo del evento RowResize

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

Private Sub DataGrid1_RowResize (Cancel As Integer)
   If DataGrid1.VisibleRows < 5 Then Cancel = True
End Sub


CellText (Método)

Devuelve un valor de texto con formato de una celda de un control DataGrid. 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 Se aplica a.
marcador | Requerido. Una expresión de cadena que representa una fila del control DataGrid.

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 DataGrid 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.


Ejemplo del método CellText

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

Sub DataGrid1_Scroll (Cancel As Integer)
   Dim TopRow, BottomRow
   TopRow = DataGrid1.Columns(1).CellText(DataGrid1.FirstRow)
   BottomRow = DataGrid1.Columns(1).CellText(DataGrid1.RowBookmark _
    (DataGrid1.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 DataGrid. 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 Se aplica a.
marcador | Requerido. Un expresión de cadena que contiene los datos sin formato almacenados en una celda seleccionada del control DataGrid.

Comentarios

Cuando se usa el método CellValue, utilice la colección Columns para especificar la columna del control DataGrid 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 DataGrid.

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


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 DataGrid1.SelBookmarks.Count - 1)
   For I = 0 to DataGrid1.SelBookmarks.Count -1
   ' Pone el valor de la fila actual de la matriz de filas seleccionada
   ' en la celda correspondiente de CalcArray.
      CalcArray(I) = _
       DataGrid1.Columns(1).CellValue(DataGrid1.SelBookmarks(I))
   Next I
End Sub


ColContaining (Método)

Devuelve el valor ColIndex de la columna del control DataGrid 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 Se aplica 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 DataGrid.

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 DataGrid. 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 Se aplica a.
valor | Requerido. Una expresión numérica de tipo Long que direcciona filas del control DataGrid 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 DataGrid1.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 (DataGrid1.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.


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 DataGrid1_BeforeColUpdate (ColIndex As Integer, _
 OldValue as Variant, PrevVal, NextVal, CurVal, Cancel As Integer)
   If ColIndex = 1 Then
      PrevVal = DataGrid1.Columns(1).CellValue(DataGrid1.GetBookmark(-1))
      NextVal = DataGrid1.Columns(1).CellValue(DataGrid1.GetBookmark(1))
      CurVal = DataGrid1.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 DataGrid. No acepta argumentos con nombres.

Sintaxis

objeto.Add índiceColumna

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 Se aplica a.
índiceColumna | 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 índiceColumna son:

Valor | Descripción
0 | Inserta la nueva columna como columna situada más a la izquierda.
Count | Si la parte índiceColumna 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 índiceColumna. 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 DataGrid 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 DataGrid.


Rebind (Método)

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

Sintaxis

objeto.Rebind

Comentarios

El método Rebind hace que el control DataGrid realice las mismas operaciones que ocurren cuando se establece la propiedad DataSource. El control DataGrid 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 usar el diseño actual de la columna o del campo, llame al método HoldFields inmediatamente antes de ReBind.


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 vuelve a configurar el control usando la información original de la tabla.

Sub CheckForRebind_Click ()
   If UserChangedLayout Then
      DataGrid1.Rebind
   End If
End Sub


Remove (Método, DataGrid)

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

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 Se aplica 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 DataGrid.

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 DataGrid. 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 Se aplica a.
valor | Requerido. Un entero comprendido entre 0 y el valor de la propiedad VisibleRows del control DataGrid menos 1.

Comentarios

RowBookmark(0) devuelve el mismo marcador que la propiedad FirstRow del control DataGrid. 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 DataGrid.

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


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 DataGrid1.VisibleRows - 1
      DataGrid1.SelBookmarks.Add DataGrid1.RowBookmark(I)
   Next I
End Sub


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 DataGrid1_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 = DataGrid1.RowContaining(Y)
   ColValue = DataGrid1.ColContaining(X)
   ' Si los valores son válidos, guardar el texto de
    ' la celda y empezar el arrastre.
   If RowValue > 0 And ColValue < DataGrid1.VisibleRows And _
   ColValue > 0 And ColValue < DataGrid1.VisibleCols Then
      SaveValue = DataGrid1.Columns(ColValue). _
      CellValue(DataGrid1.RowBookmark(RowValue))
      DataGrid1.Drag 1
   End If
End Sub


RowContaining (Método)

Devuelve el valor correspondiente al número de fila de la coordenada vertical (Y) especificada del control DataGrid. 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 Se aplica 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 del 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 DataGrid.

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


RowTop (Método)

Devuelve un valor que contiene la coordenada Y de la parte superior de la fila especificada de un control DataGrid. 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 Se aplica 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 DataGrid.


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 DataGrid1_MouseDown (Button As Integer, _
Shift As Integer, X As Single, Y As Single)
   ' Declarar variables.
   Dim DY, DX, RowValue, ColValue, CellLeft, CellTop
   ColValue = DataGrid1.ColContaining(X)
   RowValue = DataGrid1.RowContaining(Y)
   ' Obtener el alto de la celda.
   DY = DataGrid1.RowHeight
   ' Obtener el ancho de la celda.
   DX = DataGrid1.Columns(ColValue).Width
   CellLeft = DataGrid1.Columns(ColValue).Left
   CellTop = DataGrid1.RowTop(RowValue)
   Label1.Caption = DataGrid1.Columns(ColValue). _
      CellValue(DataGrid1.RowBookmark(RowValue))
   Label1.Move CellLeft, CellTop, DX, DY
   Label1.Drag ' Arrastrar el contorno de la etiqueta.
End Sub


Scroll (Método)

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

Sintaxis

objeto.Scroll valorColumna, valorFila

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 Se aplica a.
valorColumna | Requerido. Una expresión numérica de tipo Long que especifica una columna del control.
valorFila | 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 DataGrid 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.


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.
   DataGrid1.Scroll DataGrid1.VisibleCols, DataGrid1.VisibleRows
End Sub

Sub ScrollUpLeft_Click
   ' Se desplaza hacia arriba y hacia la izquierda.
   DataGrid1.Scroll -DataGrid1.VisibleCols, -DataGrid1.VisibleRows
End Sub


Column (Objeto)

Un objeto Column representa una columna de un control DataGrid.

Comentarios

Puede manipular una columna de un control DataGrid 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.

Nota Un objeto DataGrid puede contener únicamente 32.767 columnas, ya que los índices de las columnas son almacenados como enteros.

Para utilizar un objeto Column, puede utilizar directamente la propiedad Columns del control DataGrid 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 = DataGrid1.Columns(0)
Set Col2 = DataGrid1.Columns(1)
Col1.Caption = "Columna 1"
Col2.Caption = "Columna 2"

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

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


SelBookmarks (Colección)

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

Sintaxis

SelBookmarks

Comentarios

Utilice la propiedad SelBookmarks del control DataGrid 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 DataGrid 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 DataGrid.

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 DataGrid.

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 DataGrid. 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.


AllowAddNew (Propiedad)

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

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 Se aplica 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 DataGrid.
False | Los usuarios no pueden agregar registros al objeto Recordset subyacente al control DataGrid.

Comentarios

Si la propiedad AllowAddnew es True, la última fila que se muestra en el control DataGrid 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.


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
      DataGrid1.AllowDelete = False
      DataGrid1.AllowAddNew = False
      DataGrid1.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 Datagrid.

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 Se aplica 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 DataGrid.
False | Los usuarios no pueden eliminar registros del objeto Recordset subyacente al control DataGrid.

Comentarios

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

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

Nota Después de eliminar un registro de un control DataGrid, se debe usar el método Refresh para forzar la actualización de DataGrid. De lo contrario, a pesar de haber eliminado el registro, aún se mostrará en DataGrid.


AllowRowSizing (Propiedad)

Devuelve o establece un valor que indica si un usuario puede modificar el tamaño de las filas del control DataGrid 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 Se aplica 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 DataGrid 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.


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
   DataGrid1.AllowRowSizing = False
   For Each Fld in Data1.Recordset.Fields
      If Fld.Type = dbMemo Then
         DataGrid1.AllowRowSizing = True
         DataGrid1.RowHeight = DataGrid1.RowHeight * 2
         Exit For
      End If
   Next
End Sub


AllowSizing (Propiedad)

Devuelve o establece un valor que indica si el usuario puede modificar el tamaño o divisiones de las columnas del control DataGrid 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 Se aplica 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).


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
      DataGrid1.Columns(I).AllowSizing = False
      DataGrid1.Columns(I).Locked = True
   Next I
End Sub


AllowUpdate (Propiedad)

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

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 Se aplica 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 DataGrid
False | El usuario no puede modificar datos del control DataGrid

Comentarios

Cuando la propiedad AllowUpdate es False, el usuario aún puede desplazarse a través del control DataGrid 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 usar las propiedades del objeto Column para hacer que columnas individuales del control DataGrid 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 DataGrid; 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 DataGrid y la posición visible (de izquierda a derecha) de la columna en el control DataGrid. Esta propiedad es de sólo lectura en tiempo de ejecución y no está disponible en tiempo de diseño.

Sintaxis

objeto.ColIndex

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

Comentarios

Tenga en cuenta que el valor de la posición es el mismo si todas las columnas son visibles y no cambia si oculta una o más columnas.

Esta propiedad devuelve el índice cero de una columna dentro de la colección Columns. Tenga en cuenta sin embargo, que For… Each no garantiza que los elementos se devuelvan en un orden determinado.


ColumnHeaders (Propiedad)

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

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 Se aplica 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 DataGrid
False | No se muestran los encabezados de columna del control DataGrid


Columns (Propiedad, DataGrid)

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 Se aplica 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 DataGrid si cambia las propiedades de los objetos Column. Elija un determinado objeto Column mediante la propiedad Col.


DefColWidth (Propiedad)

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

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 Se aplica 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 función del 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:

DataGrid1.DefColWidth = DataGrid1.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 DataGrid.

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 Se aplica 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.


Ejemplo de la propiedad DividerStyle

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

Private Sub DataGrid1_HeadClick (ColIndex As Long)
   If DataGrid1.Columns(ColIndex).DividerStyle <> 5 Then
      DataGrid1.Columns(ColIndex).DividerStyle = _
       DataGrid1.Columns(ColIndex).DividerStyle + 1
   Else
      DataGrid1.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 DataGrid 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 Se aplica a.
valor | Una expresión de cadena que contiene un marcador correspondiente a la primera fila visible del control DataGrid.

Comentarios

Para un control DataGrid, 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 DataGrid.

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 Se aplica 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 DataGrid.

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 Se aplica 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 DataGrid.


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
      DataGrid1.HeadLines = 2   ' Si se comprueba, dos
                              ' líneas en encabezados.
   Else
      DataGrid1.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 DataGrid.

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 Se aplica 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.


Ejemplo de la propiedad NumberFormat

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

Private Sub Command1_Click ()
   DataGrid1.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 DataGrid 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 Se aplica 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 DataGrid 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 Se aplica 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.


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 DataGrid1.RowDividerStyle < 5 Then
      DataGrid1.RowDividerStyle = DataGrid1.RowDividerStyle + 1
   Else
      DataGrid1.RowDividerStyle = 0
   End If
End Sub


SelBookmarks (Propiedad)

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

Sintaxis

objeto.SelBookmarks

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

Comentarios

Cuando se selecciona un registro del control DataGrid, 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 DataGrid, puede procesar registros de datos individuales volviendo a colocar el objeto Recordset duplicado con marcadores obtenidos de la colección SelBookmarks.


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()
    Dim varBmk As Variant
    For Each varBmk In DataGrid1.SelBookmarks
        Data1.Recordset.Bookmark = varBmk
        Data1.Recordset.Delete
        Data1.Refresh
    Next
End Sub


VisibleCols (Propiedad)

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

Sintaxis

objeto.VisibleCols

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica 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.


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 DataGrid1.LeftCol + DataGrid1.VisibleCols < _
       DataGrid1.Columns.Count Then
      DataGrid1.LeftCol = DataGrid1.LeftCol + _
       DataGrid1.VisibleCols
   End If
End Sub

Private Sub PageLeft_Click ()
   ' Mover la cuadrícula una página a la izquierda.
   If DataGrid1.LeftCol - DataGrid1.VisibleCols >= 0 Then
      DataGrid1.LeftCol = DataGrid1.LeftCol - _
       DataGrid1.VisibleCols
   End If
End Sub


VisibleRows (Propiedad)

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

Sintaxis

objeto.VisibleRows

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

Comentarios

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


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 DataGrid1.VisibleRows - 1
      DataGrid1.SelBookmarks.Add DataGrid1.RowBookmark(I)
   Next I
End Sub


División

Similar a la "ventana con división " disponible en Microsoft Excel donde una ventana se divide en paneles verticales separados para proporcionar a los usuarios diferentes vistas de datos. Cada división está representada por un objeto Split y contiene un grupo de columnas adyacentes que se desplazan como una unidad.


Columns (Colección)

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

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 DataGrid.


Ejemplo del Objeto Split, colección Splits

El siguiente ejemplo agrega una nueva división fija a un control DataGrid. Para probar este ejemplo, agregue un control Data y un control DataGrid a los formularios de un nuevo proyectos EXE Estándar. Establezca las propiedades DatabaseName y RecordSource del control Data a "BIBLIO.MDB" y "AUTHORS". Pegue el siguiente código en la sección Declaraciones del formulario:

Private Sub Form_Load()
   ' Antes de modificar las propiedades de la cuadrícula, compruebe
   ' que la cuadrícula está inicializada actualizando el control Data
   Data1.Refresh

   ' Crea divisiones adicionales:
   DataGrid1.Splits.Add 0 ' Crea una división adicional

   ' Oculta todas las columnas en la división más a la izquierda,
   ' Splits(0), excepto las columnas 0 y 1
   Dim Cols As Columns, C As Column
   Set Cols = DataGrid1.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 no permite el cambio de tamaño
   With DataGrid1.Splits(0)
      .SizeMode = dbgNumberOfColumns
      .Size = 2
      .AllowSizing = False
   End With

   ' Normalmente, si ajusta las columnas 0 y 1 para que
   ' tengan desplazamiento en una división, deseará que
   ' sean invisibles a otras divisiones:
   Set Cols = DataGrid1.Splits(1).Columns
   Cols(0).Visible = False
   Cols(1).Visible = False

   ' Desactiva los selectores de registro en Split 1:
   DataGrid1.Splits(1).RecordSelectors = False
End Sub


Splits (Colección)

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

Sintaxis

Splits(índice)

Splits.Item(índice)

Comentarios

Puede crear divisiones en tiempo de diseño si utiliza el menú contextual de la interfaz de usuario 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
DataGrid1.Splits.Add 0
' Elimina el objeto Split con índice 1
DataGrid1.Splits.Remove 1

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


Constantes del control DataGrid

Constantes de AddNewMode

Constante | Valor | Descripción
dbgNoAddNew | 0 | Sin AddNew.
dbgAddNewCurrent | 1 | AddNew actual.
dbgAddNewPending | 2 | AddNew pendiente.

Constantes de Alignment

Constante | Valor | Descripción
dbgLeft | 0 | Izquierda.
dbgRight | 1 | Derecha.
dbgCenter | 2 | Centro.
dbgGeneral | 3 | General.

Constantes de apariencia

Constante | Valor | Descripción
dbgFlat | 0 | Aspecto plano.
dbg3D | 1 | Aspecto 3D.

Constantes de BorderStyle

Constante | Valor | Descripción
dbgNoBorder | 0 | Ninguno.
dbgFixedSingle | 1 | Simple y fijo.

Constantes de Dividerstyle

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.
dbgLightGrayLine | 6 | Línea gris clara.

Constantes de Error

Constante | Valor | Descripción
dbgBadEvent | 67133793 | La operación no es válida con el evento.
dbgBindError | 67125399 | Imposible inicializar los datos necesarios.
dbgColNotFound | 67133767 | Columna no encontrada.
dbgDataAccessError | 67133792 | Error de acceso de datos.
dbgErrorAdd | 67133782 | Ha ocurrido un error mientras intentaba agregar un registro.
dbgErrorDelete | 67133781 | Ha ocurrido un error mientras intentaba eliminar un registro.
dbgErrorUpdate | 67133783 | Ha ocurrido un error mientras intentaba actualizar un registro.
dbgInvalidBookmark | 67133769 | Marcador no válido.
dbgInvalidColumnIndex | 67133765 | Índice de columna no válido.
dbgInvalidPropertyValue | 67109760 | Valor de propiedad no válido.
dbgInvalidSplitIndex | 67134021 | Índice de división no válido.
dbgInvRowNum | 67133768 | Número de fila no válido.
dbgMustHaveSplit | 67137538 | Es necesario una división.
dbgNoMethNow | 67137539 | Método no disponible en este contexto.
dbgNoMultiDelete | 67133785 | No se pueden eliminar múltiples filas.
dbgNoPropNow | 67133794 | La propiedad no está disponible en este contexto.
dbgOrphaned | 67137536 | Se ha eliminado el objeto contenido en la cuadrícula.
dbgOutOfMemory | 67108871 | Sin memoria.
dbgScrollOutOfRange | 67133777 | Argumentos de desplazamiento fuera del intervalo.
dbgSubscriptRange | 67108873 | Subíndice fuera del intervalo.
dbgTypeMismatch | 67108883 | Error de tipo.
dbgUnknown | 67137537 | Ha ocurrido un error inesperado o desconocido.

Constantes de MarqueeStyle

Constante | Valor | Descripción
dbgDottedCellBorder | 0 | Borde de celda con puntos.
dbgSolidCellBorder | 1 | Borde de celda sólido.
dbgHighlightCell | 2 | Resalta la celda.
dbgHighlightRow | 3 | Resalta la fila.
dbgHighlightRowRaiseCell | 4 | Resalta la fila, eleva la celda.
dbgNoMarquee | 5 | Sin resalte.
dbgFloatingEditor | 6 | Editor flotante.

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.

Constantes de TabAction

Constante | Valor | Descripción
dbgControlNavigation | 0 | Desplazamiento del control.
dbgColumnNavigation | 1 | Desplazamiento de la columna.
dbgGridNavigation | 2 | Desplazamiento de la cuadrícula.


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 Se aplica 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 Se aplica 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 DataGrid)

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 Se aplica 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 DataGrid) 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 Se aplica 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 DataGrid)

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 Se aplica 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 Se aplica 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 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 DataGrid)

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 Se aplica 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) Continúa 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ÚS 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 Se aplica 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.


Error al intentar agregar el registro

Intente corregir el error, si es posible, y vuelva a agregar el registro. Si no puede corregir el error, no podrá agregar el registro.


El texto del título es demasiado largo

El texto del título tiene más de 32768 caracteres.


No se encontró la columna

No se puede encontrar la columna que busca.


Índice de columna no válido

No hay una columna para el valor índice especificado.


Error de acceso a datos

Un proceso o error desconocido ha impedido que el control DataGrid tenga acceso a los datos.


Error al intentar eliminar el registro

Intente corregir el error, si es posible, y vuelva a eliminar el registro. Si no puede corregir el error, no podrá eliminar el registro.


No se puede eliminar múltiples filas

Debe eliminar las filas de una en una.


Código de error desconocido e inesperado

Ha ocurrido un error que está fuera del alcance de DataGrid. Una causa común es que el proveedor de OLEDB no puede completar la petición o ha devuelto un código que el control DataGrid no puede tratar.


<Nombre> no es un nombre válido de campo de datos

Las convenciones de nombre son específicas del proveedor de datos. Compruebe que el nombre que ha intentado asignar al campo de datos se ajusta a las convenciones de nombres especificadas por el proveedor de datos.


Marcador no válido

El marcador que ha especificado no es válido para el origen de datos actual.


Valor no válido para la propiedad <nombre>

Ha intentado asignar un valor a la propiedad que no es válido. Busque en la documentación información específica de la propiedad y use los valores adecuados.


Número de fila incorrecto

No hay una fila para el valor especificado.


Valor de la propiedad ScrollBars no válido

El valor que ha asignado a la propiedad ScrollBars está fuera del intervalo disponible.


No se puede eliminar la última división

El control DataGrid debe tener al menos una división disponible para funcionar correctamente.


No hay ningún registro actual

Debe tener un registro resaltado para que la operación se realice correctamente.


La propiedad no está disponible en este contexto

Ha intentado tener acceso a una propiedad que no está disponible actualmente o no se puede aplicar en el contexto actual. Para obtener información acerca del uso específico de la propiedad, vea la documentación.


Se ha eliminado el objeto de soporte en el Datagrid

Se ha eliminado en el DataGrid un objeto necesario para la operación actual.


Argumentos de Scroll fuera del intervalo

El valor que ha proporcionado para el método Scroll está fuera del intervalo de filas disponibles.


Índice de división no válido

El valor que ha proporcionado para el índice de división es mayor o menor que el número actual de divisiones.


Error al intentar actualizar el registro

Intente corregir el error, si es posible, y vuelva a actualizar el registro. Si no puede corregir el error, no podrá actualizar el registro.


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 Se aplica 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 DataGrid a un control PictureBox.

Picture1.Picture = DataGrid1.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.


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 Se aplica 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 Se aplica 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 DataGrid.

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 Se aplica 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 Se aplica 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 sencillo 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.


Split (Objeto)

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

Comentarios

DataGrid 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 DataGrid, contiene de forma predeterminada un objeto Split.

Puede usar las divisiones para presentar los datos en varios paneles verticales. Los paneles de datos (o divisiones) pueden mostrar datos. Pueden desplazarse (verticalmente) juntos o de forma independiente y pueden mostrar columnas iguales o diferentes. También puede usar 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.

No es posible alargar una columna más que su división. Si cambia el tamaño de una columna para ser menor que la columna todavía puede usar la barra de división "fantasma".

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 DataGrid) 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% = DataGrid1.Split

' Establece el enfoque a la cuadrícula con un índice
' igual a Variable%
DataGrid1.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 DataGrid son las mismas que las propiedades de un objeto Split y se consideran comunes. Los cambios realizados en una propiedad común del control DataGrid 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% = DataGrid1.MarqueeStyle
marquee% = DataGrid1.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:

DataGrid1.MarqueeStyle = dbgSolidCellBorder
DataGrid1.Splits(1).MarqueeStyle = dbgSolidCellBorder

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


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

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica 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.


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 Se aplica a.
valor | Expresión booleana que determina las teclas de dirección que se usará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 usar las teclas de dirección tanto para moverse de celda en celda como de fila en 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 usar para moverse entre celdas.

Comentarios

El usuario no puede usar las teclas de dirección para moverse fuera del control DataGrid 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.


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 Se aplica 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.


ApproxCount (Propiedad)

Devuelve el número aproximado de filas de la cuadrícula.

Sintaxis

objeto.ApproxCount

El marcador de posición objeto es una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Comentarios

Esta propiedad 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 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 en conjunción con una matriz.

Nota Al obtener la propiedad ApproxCount se consultará el origen de los datos subyacentes.


Bookmark (Propiedad, control DataGrid)

Devuelve o establece un marcador para la fila especificada dentro de un objeto RowBuffer en un control DataGrid sin enlazar.

Sintaxis

objeto.Bookmark (fila) [= valor]

La sintaxis de la propiedad Bookmark tiene estas partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
fila | Un entero que indica la fila dónde se sitúa el marcador. El intervalo de este valor puede estar entre 0 y RowCount – 1.
valor | Un tipo variant que indica el marcador de la fila especificada.

Comentarios

Use el valor que devuelve la propiedad Bookmark para guardar una referencia a la fila actual que permanece válida incluso si otra fila se convierte en la actual.

Cuando establece la propiedad Bookmark a un valor válido en el código, la fila asociada con el valor se convierte en la fila actual, y la cuadrícula ajusta su visualización para ver la nueva fila actual si fuese necesario.

La propiedad Bookmark se define como un tipo Variant para ajustar los marcadores definidos por el usuario en modo no enlazado.

Puede haber múltiples filas en el evento UnboundReadData, por lo que puede proporcionar un marcador para cada fila.

El evento UnboundWriteData le 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 no enlazado, el establecer la propiedad Bookmark en sí mismo se provocará que la fila actual se actualice mediante el evento UnboundWriteData.


Ejemplo de la propiedad Bookmark (Control DataGrid)

En este ejemplo, cuando el usuario elimina una fila en el control DataGrid no enlazado, el evento UnboundDeleteRow se activa, permitiéndole eliminar de forma manual la fila del conjunto de datos, que en este caso se trata de una simple matriz. El siguiente fragmento de código muestra cómo se pasa un marcador como un argumento en el evento UnboundDeleteRow para identificar la fila que se va a eliminar.

Private Sub DataGrid1_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

Vea el ejemplo del evento UnboundReadData para obtener un ejemplo de asignación de datos a la propiedad Bookmark.


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 Se aplica 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 DataGrid) 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.


Caption (Propiedad, control DataGrid, objeto Column)

En un control DataGrid, 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 Se aplica a.
valor | Expresión de cadena que determina qué se mostrará, como se describe a continuación.

Comentarios

En un control DataGrid, 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 DataGrid está establecida a True y la propiedad HeadLines no es 0.


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 Se aplica 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 usar 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 Se aplica 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 DataGrid, 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.


DataChanged (Propiedad, DataGrid)

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 Se aplica 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

Boolean


DataField (Propiedad, control DataGrid, 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 Se aplica 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:

Adodc1.RecordSource = "Select AVG(Sales) " _
   & " AS AverageSales From SalesTable"
Text1.DataField = "AverageSales"
Adodc1.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


DefaultValue (Propiedad, DataGrid)

Establece el valor predeterminado para una nueva columna de datos.

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 Se aplica a.
valor | Una expresión de tipo Variant que contiene el valor predeterminado para la columna especificada.

Comentarios

El control DataGrid no utiliza esta propiedad por sí misma, sino que la proporciona como un marcador de posición para que asocie valores predeterminados con un control DataGrid. Esta propiedad puede usarse como etiqueta para una columna. Los valores arbitrarios pueden almacenarse y recuperarse posteriormente.


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 Se aplica 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

El marcador de posición objeto es una expresión de objeto que da como resultado un objeto de la lista Se aplica 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 DataGrid. 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 DataGrid. No está disponible en tiempo de diseño.

Sintaxis

objeto.hWndEditor

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica 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.


Index (Propiedad, objeto Split)

Devuelve el índice de la división seleccionada.

Sintaxis

objeto.Index

El marcador de posición objeto es una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Comentarios

Esta propiedad es útil si necesita identificar un objeto Split.


LeftCol (Propiedad)

Devuelve o establece un entero que representa la columna visible más a la izquierda de un control DataGrid. Esta propiedad es de sólo lectura en tiempo de diseño.

Sintaxis

objeto.LeftCol [= valor]

La sintaxis de la propiedad LeftCol tiene estas partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Una expresión numérica que indica la columna visible más a la izquierda. El valor predeterminado es 0.


MarqueeStyle (Propiedad)

Establece o devuelve el estilo Marquesina de un control DataGrid 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 Se aplica 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.


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 Se aplica 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.


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 | Una expresión de objeto que da como resultado un objeto de la lista Se aplica 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.


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 Se aplica 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.


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 Se aplica a.
valor | Tipo Long 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 disponible en tiempo de diseño.

Sintaxis

objeto.Splits

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica 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 Se aplica 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 Se aplica 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.

El valor de la propiedad TabAction reemplaza el comportamiento de la propiedad WrapCellPointer. Por ejemplo, si WrapCellPointer es True y TabAction se establece a dbgColumnNavigation, y está en la última columna del control DataGrid, al presionar la tecla TAB se mueve al siguiente control en el orden de tabulación en lugar de la primera columna de la siguiente fila.


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 Se aplica 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.


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 Se aplica 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.


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 Se aplica 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.