Empiece diseñando una nueva forma. Usando al navegador, cambie al directorio de \Samples\Fleet\Tables. Pulse el botón en la etiqueta de las tablas y arrastre y deje caer Aircraft.dbf hacia su forma. Esto creará un objeto query en la forma, llamado Aircraft1.
Usando al inspector, vaya la etiqueta de Eventos por el objeto query y pulse el botón en el botón de la herramienta del evento de OnOpen.
En la función llamada Aircraft1_OnOpen,
teclee:
oField=new Field() oField.FieldName := "Make and model" This.Rowset.Fields.Add(oField) oField.BeforeGetValue := {; Return Trim(This.Parent["Make"].Value) + space(1) + This.Parent["Model"].Value } |
|
Usted ha instruido simplemente el query para agregar un campo calculado y ha mostrado Make and Model en una sola columna.
Note que usted puede crear más simplemente campos calculados, en la declaración de SQL "SELECT...FROM". Pero la manera nosotros estamos haciéndolo aquí es mucho más poderosa, porque el .BeforeGetValue es manejado por VdB en lugar del motor de SQL. Esto significa que usted puede usar las funciones de xbase y UDFs para construir sus campos calculados - y ésta es una diferencia vital. SQL es bueno pero a veces no es lo bastante flexible.
De la Paleta de Componentes, deje caer un Grid hacia la forma, y agrándelo. Seleccione el Grid, y usando el inspector, pulse el botón descendente de la propiedad DataLink, y direccionelo a Aircraft1.
En cuanto usted haga esto, notará que la Grid se puebla con filas de la tabla.
Ahora, nuestra meta es conseguir el campo calculado hacia el Grid. Para hacer esto usted necesitará ejecutar el query de nuevo para que "Make and Model" este disponible en la herramienta de Seleccionador de Columnas. Desafortunadamente, si usted intenta poner la propiedad Active del query a false y despues regresar a true, usted obtendrá a un error. Pero usted puede ejecutar eficazmente de nuevo el query salvando la forma (llámelo MyGrid.WFM) y entonces ábralo de nuevo con el diseñador. Una vez que usted lo haya hecho, haga clic en el Grid, llame al inspector, y pulse el botón de la herramienta de la propiedad de las Columnas. Haga doble-clic sobre el campo "Make and Model", y entonces haga doble-clic sobre el campo "Layout Image". Pulse el botón en el botón de OK.
Salve su forma y ejecútela. Voilà!