|
|
|
|
- Condiciones para añadir el fila que contiene la fórmula de cálculo personalizada
- Recalcular los datos
- Personalización del cálculo fila
.FormulaAdd (Función) Añade una fila calculada a una Tabla o control Tabla TreeView proporcionando procedimientos de cálculo personalizados. TABLE_MyTable.FormulaDeleteAll() nRow is int nRow = TABLE_MyTable.COL_Num.FormulaAdd("Positive mean", ProcInit, ProcAdd, ProcEnd) // Change the background color of the row for custom calculation COL_Num[nRow].BackgroundColor = LightRed nCounter is int INTERNAL PROCEDURE ProcInit() nCounter = 0 RESULT 0 END INTERNAL PROCEDURE ProcAdd(Accumulator, ColValue) // Ignores the negative numbers or NULL IF (ColValue <= 0) RESULT Accumulator nCounter++ RESULT Accumulator + ColValue END INTERNAL PROCEDURE ProcEnd(Accumulator) IF nCounter = 0 THEN RESULT 0 // Calculate the mean RESULT Accumulator/nCounter END
nRow2 is int nRow2 = TABLE_TableControl.COL_Time.FormulaAdd("Average duration", Null, ... AverageDuration_Iteration, AverageDuration_End) INTERNAL PROCEDURE AverageDuration_Iteration(Accumulator, ColValue) RESULT Accumulator + [TAB] + ColValue END INTERNAL PROCEDURE AverageDuration_End(Accumulator) nSum is 8-byte int nNbValid is int FOR EACH STRING sValue OF Accumulator SEPARATED BY TAB IF ValidTime(sValue) THEN nSum += TimeToInteger(sValue) nNbValid++ END END RESULT TimeToString(IntegerToTime(nSum/nNbValid), "HH:MM:SS") END
Sintaxis
<Result> = <Column>.FormulaAdd(<Calculation caption> , <Initialization> , <Iteration> , <Ending>)
<Result>: Integro Índice de la fila que contiene la fórmula. <Column>: Nombre del control Nombre de la columna en la que se añadirá la fórmula. <Calculation caption>: Cadena de caracteres Leyenda de la fila adicional donde se visualizará el cálculo. Si esta leyenda no existe, se creará la fila. Si esta leyenda existe pero no para la columna especificada, el cálculo se visualiza en la fila existente pero para la columna especificada.. Si esta leyenda existe para la columna especificada, se produce un error de WLanguage. <Initialization>: Cadena de caracteres - Nombre del lenguaje WL Procedure ("callback") llamado para inicializar la fórmula. Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name> () // your code
RESULT <Initialization value Accumulator> donde <Valor de inicialización Acumulador> es el valor de retorno de la primera iteración del cálculo. - NULL si la fórmula no requiere inicialización Process.
<Iteration>: Cadena de caracteres - Nombre del lenguaje WL Procedure ("callback") llamado para cada iteración de la fórmula (cada fila del control Tabla). Esta Procedure tiene acceso de lectura a las columnas de cada fila. Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<Accumulator>, <Column value>) // Called for each row in the Table control // Your code
RESULT <New value Accumulator> donde: - <Accumulador> es el valor que proviene del cálculo anterior (inicialización o iteración previa).
- <Valor de la columna> es el valor de la columna actual utilizado para calcular esta iteración.
- <Nuevo valor Acumulador> es el nuevo valor a devolver para la siguiente iteración o al final del cálculo.
- NULL si la fórmula no requiere iteración Process.
<Ending>: Cadena de caracteres - Nombre de la WLanguage Procedure ("callback") llamada para finalizar la fórmula. Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name> (<Accumulator>) // your code
RESULT <End value Accumulator> donde: - <Acumulador> es el valor procedente del cálculo anterior (inicialización o iteración anterior).
- <Valor final Acumulador> es el valor de retorno que corresponde al valor final del cálculo.
- NULOSA si la fórmula no requiere un final Process.
Observaciones Condiciones para añadir el fila que contiene la fórmula de cálculo personalizada - Si el cálculo denominado <Calculation caption> no existe en el control Tabla, se añade un nuevo cálculo fila debajo del control Tabla (después de los cálculos existentes).
- Si ya se ha definido un cálculo llamado <Título de cálculo> para otra columna, el cálculo se muestra para la columna especificada en el cálculo existente fila.
- Si un cálculo llamado <Título del cálculo> ya estaba definido para la misma columna, se produce un error de WLanguage.
- Sólo se pueden añadir 5 filas de cálculo personalizado.
Observación: Esta función puede utilizarse: - en las columnas de una Tabla o control Tabla TreeView basada en un archivo de datos.
- en las columnas de una Tabla o control Tabla TreeView rellenada programáticamente.
Recalcular los datos Las líneas de cálculo personalizadas se recalculan automáticamente tan pronto como cambia el contenido del control Tabla. Consejo: La iteración Procedure se llama para cada fila: le aconsejamos que no realice cálculos lentos (evite los accesos a la base de datos, por ejemplo). Personalización del cálculo fila La siguiente sintaxis se utiliza para personalizar el fila añadido (leyenda, Color, fuente, altura, ...): <Table control>[Row number].<Property> = <New value> donde <Property> puede corresponder a una de las propiedades que se pueden utilizar en una columna de un control Tabla. Para obtener más información, consulte Programación de cálculos personalizados en Table controls.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|