Use esta guía paso a paso para personalizar el
antes y después de que editar una celda en una Cuadrícula de Datos
formato de datos. Un campo de texto se utiliza en el ejemplo de este
artículo mayúsculo en en el que se almacenan los caracteres el cual
se puede mostrar y se puede editar en mixed-case en pantalla.
La Cuadrícula de Datos en Visual Basic 6.0 muestra datos de
una base de datos y permite modificar de usuario. Las transferencias
entre la cuadrícula de datos y la base de datos subyacente se
controlan automáticamente a través de ActiveX Data Objects ( ADO ).
En algunos casos, el formato de los datos en pantalla es diferente
del formato de los datos de la base de datos y la conversión es
necesaria.
Volver
al principio
Requisito
Los elementos siguientes describen el hardware, el software, la
infraestructura de red, las capacidades, el conocimiento y los
service pack recomendados que se necesitan.
• |
Necesita un conocimiento básico que realiza el
procedimiento de este artículo de programar Visual
Basic. |
Volver
al principio
Utilice el objeto
StdDataFormat
El objeto StdDataFormat le permite utilizar formatos predefinidos o
personalizados, intervenir en el proceso de formato o unformatting y
aplicar estos formatos al delimitar controles. Porque esto es un
objeto, también lo puede reutilizar dondequiera que se necesita
tener este mismo formato.
El objeto StdDataFormat admite
algunos tipos integrados y unos tipos personalizados como Boolean,
Moneda y Fecha corta (en hecho, algo que admite la función Format$
en Visual Basic) con nombre. Sin embargo, en el ejemplo siguiente,
se utiliza los eventos Format y UnFormat del objeto StdDataFormat
para realizar una conversión en vez de una conversión estándar.
1. |
: en Microsoft Windows XP, Microsoft Windows
2000 y Microsoft Windows para Windows NT
En el menú
Inicio de Windows, elija Programas, elija Herramientas
administrativas y a continuación, haga clic en Orígenes de
datos.
: en Microsoft Windows 98 y Microsoft Windows
95
En el menú Inicio de Windows, elija Configuración y
a continuación, haga clic en Panel de control. Haga doble clic
en el icono ODBC Data Sources (32-bit).
El cuadro de
diálogo Administrador de orígenes de datos ODBC aparece.
|
2. |
En el cuadro de diálogo Administrador de
orígenes de datos ODBC, realice los pasos siguientes:
a. |
Cree un DSN de sistema para una base de
datos de Microsoft Access. |
b. |
En el cuadro Nombre de origen de datos,
escriba FmtDemo. |
c. |
Haga clic en Seleccionar para seleccionar
el archivo Nwind.mdb.
En la configuración
predeterminada para Visual Studio, el archivo Nwind.mdb
se encuentra en la carpeta Studio\VB98 Visual de
Programa\Microsoft de C:\Program. Haga clic en
Aceptar. |
d. |
Vuelva a hacer clic en
Aceptar. | |
3. |
Inicie Visual Basic 6.0 y cree una aplicación
para Windows nueva (EXE estándar). |
4. |
En el menú <B>Project</B>, haga
clic en <B>References</B> |
5. |
Seleccione Microsoft ActiveX Data Objects
Library 2.1 para habilitar acceso a ADO.
Si tiene una
versión posterior de ActiveX Data Objects instalado en su
equipo, utilice aquella versión. |
6. |
Seleccione Microsoft Data Formatting Object
Library 6.0 para habilitar acceso al objeto StdDataFormat.
Si instaló un Service Pack en Visual Basic, el nombre
de biblioteca incluye una referencia con el Service Pack.
Seleccione esta opción para habilitar acceso al objeto
StdDataFormat. |
7. |
Haga clic en Aceptar. |
8. |
En el menú Proyecto, haga clic en Componentes.
Seleccione Microsoft Data Grid Control y control Data de
Microsoft ADO y haga clic en Aceptar. |
9. |
Agregue una cuadrícula de datos al formulario.
Presione F4 para ver la ventana Propiedades. Compruebe que la
cuadrícula nueva de datos se denomina DataGrid1. |
10. |
Agregue un control ADODC al formulario. El
control tiene el nombre predeterminado Adodc1. |
11. |
Seleccione el control Adodc1 en la ventana
Propiedades. Establece la propiedad ConnectionString a
<B> DSN = FmtDemo </B>. |
12. |
Establezca la propiedad OrigenDelRegistro para
Adodc1 a lo siguiente:Select OrderID, CustomerID, OrderDate FROM Orders
|
13. |
En la ventana Propiedades, seleccione el
control DataGrid1. De la propiedad DataSource, escriba Adodc1.
Esto enlaza la cuadrícula al control de datos. |
14. |
En el menú Ver, haga clic en Código. Escriba
las instrucciones siguientes arriba del código: Option Explicit
Private WithEvents MyFmt As StdDataFormat
Este código crea una variable StdDataFormat
denominada MyFmt. Esta variable tiene el atributo WithEvents
para habilitar el control de eventos para el objeto
MyFmt. |
15. |
Escriba el código siguiente para controlar el
evento Load del formulario: Private Sub Form_Load()
Set MyFmt = New StdDataFormat
MyFmt.Type = fmtCustom
Set DataGrid1.Columns(1).DataFormat = MyFmt
End Sub
Esto crea una instancia del objeto
StdDataFormat que almacena en MyFmt, lo define para ser un
formateador personalizado y lo enlaza a una columna específica
de la cuadrícula de datos (que esto es la segunda columna a
causa de que la matriz de columna tiene base cero). |
16. |
Escriba el código siguiente para controlar el
evento Format en el objeto StdDataFormat: Private Sub MyFmt_Format(ByVal DataValue As StdFormat.StdDataValue)
With DataValue
.Value = UCase(Mid(.Value, 1, 1)) & LCase(Mid(.Value, 2))
End With
End Sub
El evento Format se produce después de que
los datos se recuperen en el registro pero los controles
dependientes obtengan los datos que se muestran. DataValue es
el valor que procede del conjunto de registros ADO en el
objeto StdDataFormat. Si cambia este valor, cambia el texto
que se muestra en pantalla. En este ejemplo, los datos se
convierten de su formato entrante de mayúscula a un formato
mixed-case en el que es mayúscula sólo la primera letra.
|
17. |
Escriba el código siguiente para controlar el
evento UnFormat en el control StdDataFormat. Private Sub MyFmt_UnFormat(ByVal DataValue As StdFormat.StdDataValue)
With DataValue
.Value = UCase(.Value)
End With
End Sub
Este evento se produce antes de que sólo se
envían datos a la base de datos. El código realiza conversión
inversa; convierte todos los textos escritos a mayúscula.
|
Volver
al principio
Compruebe que
funciona
1. |
Ejecute la aplicación. Los datos de la columna
CustomerID se muestran en la pantalla en caso mixto. Puede
introducir datos para esta columna en mayúscula o
minúscula. |
2. |
En el menú Complemento, haga clic en Gestor de
datos. Esto ejecuta la aplicación VisData. |
3. |
En el menú Archivo, elija Abrir base de datos y
a continuación, haga clic en Microsoft Access. |
4. |
Abra el archivo Nwind.mdb.
De forma
predeterminada, se encuentra en la carpeta siguiente:
Studio\VB98\NWind.mdb visual
programa\Microsoft C:\Program Haga clic en Abrir. |
5. |
En la ventana Base de datos, haga doble clic en
la tabla Orders. Los datos que se modificaron en la columna
CustomerID se convierten de nuevo cuando mayúsculos almacenado
en la base de datos. |
Volver
al principio
Solucionar
En este ejemplo no se comprueba ningún dato. Si el valor convertido
después de producirse el evento UnFormat no es un valor válido de la
columna especificada, un mensaje de error aparece por lo
tanto.
Volver
al principio
Para información adicional acerca de cómo utilizar
un formato integrado del objeto StdDataFormat, haga clic en el
número de artículo siguiente para ver el artículo en el Microsoft
Knowledge Base:
191717 (http://support.microsoft.com/kb/191717/EN-US/)
HOWTO: Muestre valores Boolean en DataGrid enlazado
Volver
al principio