Si bien el concepto permanece, se cambió el tipo de datos para hacer más sencillo su uso, por lo cual recomiendo, una vez leido este, leer los cambios que se produjeron.
En la linea de "extensibilidad" de la versión Rocha, no solo es posible crear "extensions" que resuelvan determinada operativa durante el desarrollo de las aplicaciones, sino que también es posible, a partir de los builds liberados en Mayo/07 crear "users controls".
Algunos "user controls" vienen "built-in" con la versión como es el caso del HTMLEditor (FCKEditor) que permite asociar un editor HTML a un atributo/variable LVChar.
También se incluye el "Chart Control" que permite insertar un control tipo "Chart" (basado en GXchart) en los webforms.
Dicho control tiene las propiedades clásicas de un Chart (Title, Type, etc) así como una propiedad GXChartData que permite establecer una variable SDT a partir de la cual se cargarán las Categorías y Series de valores, lo cual hace muy simple su uso.
A continuación algunos ejemplos que pueden orientar respecto la utilización de dicho control.
Si bien hay una infinidad de gráficas a definir los ejemplos se detallan a continuación algunos ejemplos básicos de uso.
Dichos ejemplos pueden ser bajados de www.gxopen.com. Se requiere el Build 10.0.0.5789 (Junio/07) o posterior, más información al respecto.
En todos los ejemplo se parte de agregar un control tipo Chart al form de un webpanel.
Al agregar el control tipo Chart se pueden configurar las propiedades del mismo (tittle, type, etc) o pueden modificarse en runtime.
Además, se definen en GX dos SDT:
GXChartData – para cargar las categorías a graficar (eje X)
GXChartSerie – para cargar las series a graficar.
Cada valor de cada serie se corresponde con cada valor de la categoría. De este modo el primer valor de cada serie corresponde al primer valor de la categoría y así sucesivamente.
Presentar una gráfica con el total facturado por fecha.
En este ejemplo habrá solo una serie de valores a graficar con un valor (total facturado) por categoría (fecha).
Dada una estructura de facturas:
InvoiceId*
InvoiceDate
InvoiceTotal
Mostrar una gráfica como la siguiente:
Para ello se define una variable, en el ejemplo &Data, del tipo GXChartData y se asigna la propiedad "GXCharData" del control con el nombre de dicha variable.
También se define una variable, en el ejemplo &Series, del tipo GXChartSerie.
Luego se programa la carga de dichas variables del siguiente modo:
// se hace un corte de control por fecha de factura.
For each InvoiceDate
// cada fecha es cargada como una categoría diferente
&Data.Categories.Add(InvoiceDate.ToString() )
// se suman todas las facturas para la fecha dada.
&Total=0
For each
&Total=&Total+InvoiceTotal
Endfor
// cada uno de los totales es agregado a la serie
&Series.Values.Add(&Total)
Endfor
// se agrega (asocia) la serie a las categorías
&Data.Series.Add(&Series)
Presentar una gráfica con los valores de “entradas” (income) y “salidas” (outcome).
En este ejemplo habrá dos series de valores (incomes y outcomes) a graficar por fecha (categoría).
Como se dijo anteriormente el primer valor de cada serie se corresponde con el primer valor de la categoría, el segundo valor de cada serie con el segundo valor de la categoría y así sucesivamente.
Dada la estructura de income/outcomes:
IncomeOutcomeDate*
IncomeAmount
OutcomeAmount
Mostrar una gráfica como la siguiente:
Para ello se definen las variables: &Data del tipo GXChartData y &Incomes y &Outcomes del tipo GXChartSerie.
La variable &Data es asignada a la propiedad "GXChartData" del control definido en el form, luego se programa un evento:
// se asignan los nombres de las series
&Incomes.Name="Income"
&Outcomes.Name="Outcome"
// para cada fecha se agrega la categoría correspondiente y los valores para cada una de las series
For each
&Data.Categories.Add(IncomeOutcomeDate)
&Incomes.Values.Add(IncomeAmount)
&Outcomes.Values.Add(OutcomeAmount)
endfor
// se agregan (asocian) ambas series a las categorías
&Data.Series.Add(&Incomes)
&Data.Series.Add(&Outcomes)
Presentar una gráfica con los ventas de cada país por año.
En este ejemplo habrá N series de valores a graficar (una serie por cada país) y habrá M años (categorías).
Dada la estructura:
SalesYear*
CountryId*
CountryName
SalesTotal
NOTA: suponemos que hay una tabla de Países con CountryId*, CountryName.
Mostrar una gráfica similar a:
Se definen las variables: &Years del tipo GXChartData y la variable &Sales del tipo GXChartSerie.
La variable &Years es asignada a la propiedad GXChartData del control definido en el form, luego se programa un evento:
// se cargan las categorías, es decir, los años donde hubo ventas
for each SalesYear
option distinct
&Years.Categories.Add(SalesYear.ToString())
endfor
// para cada país se carga el nombre de la serie
for each CountryName
&Sales.Name=CountryName
// se totalizan por año las ventas
For each SalesYear
For each
&sales.Values.Add(SalesTotal)
endfor
endfor
// se agrega (asocia) cada serie a las categorías
&Years.Series.Add(&Sales)
// se define una serie nueva
&Sales = New()
Endfor
Introducción
En la linea de "extensibilidad" de la versión Rocha, no solo es posible crear "extensions" que resuelvan determinada operativa durante el desarrollo de las aplicaciones, sino que también es posible, a partir de los builds liberados en Mayo/07 crear "users controls".
Algunos "user controls" vienen "built-in" con la versión como es el caso del HTMLEditor (FCKEditor) que permite asociar un editor HTML a un atributo/variable LVChar.
También se incluye el "Chart Control" que permite insertar un control tipo "Chart" (basado en GXchart) en los webforms.
Dicho control tiene las propiedades clásicas de un Chart (Title, Type, etc) así como una propiedad GXChartData que permite establecer una variable SDT a partir de la cual se cargarán las Categorías y Series de valores, lo cual hace muy simple su uso.
A continuación algunos ejemplos que pueden orientar respecto la utilización de dicho control.
Ejemplos
Si bien hay una infinidad de gráficas a definir los ejemplos se detallan a continuación algunos ejemplos básicos de uso.
Dichos ejemplos pueden ser bajados de www.gxopen.com. Se requiere el Build 10.0.0.5789 (Junio/07) o posterior, más información al respecto.
Generalidades
En todos los ejemplo se parte de agregar un control tipo Chart al form de un webpanel.
Al agregar el control tipo Chart se pueden configurar las propiedades del mismo (tittle, type, etc) o pueden modificarse en runtime.
Además, se definen en GX dos SDT:
GXChartData – para cargar las categorías a graficar (eje X)
GXChartSerie – para cargar las series a graficar.
Cada valor de cada serie se corresponde con cada valor de la categoría. De este modo el primer valor de cada serie corresponde al primer valor de la categoría y así sucesivamente.
Facturación por Fecha
Presentar una gráfica con el total facturado por fecha.
En este ejemplo habrá solo una serie de valores a graficar con un valor (total facturado) por categoría (fecha).
Dada una estructura de facturas:
InvoiceId*
InvoiceDate
InvoiceTotal
Mostrar una gráfica como la siguiente:
Para ello se define una variable, en el ejemplo &Data, del tipo GXChartData y se asigna la propiedad "GXCharData" del control con el nombre de dicha variable.
También se define una variable, en el ejemplo &Series, del tipo GXChartSerie.
Luego se programa la carga de dichas variables del siguiente modo:
// se hace un corte de control por fecha de factura.
For each InvoiceDate
// cada fecha es cargada como una categoría diferente
&Data.Categories.Add(InvoiceDate.ToString() )
// se suman todas las facturas para la fecha dada.
&Total=0
For each
&Total=&Total+InvoiceTotal
Endfor
// cada uno de los totales es agregado a la serie
&Series.Values.Add(&Total)
Endfor
// se agrega (asocia) la serie a las categorías
&Data.Series.Add(&Series)
Entradas/Salidas por fecha
Presentar una gráfica con los valores de “entradas” (income) y “salidas” (outcome).
En este ejemplo habrá dos series de valores (incomes y outcomes) a graficar por fecha (categoría).
Como se dijo anteriormente el primer valor de cada serie se corresponde con el primer valor de la categoría, el segundo valor de cada serie con el segundo valor de la categoría y así sucesivamente.
Dada la estructura de income/outcomes:
IncomeOutcomeDate*
IncomeAmount
OutcomeAmount
Mostrar una gráfica como la siguiente:
Para ello se definen las variables: &Data del tipo GXChartData y &Incomes y &Outcomes del tipo GXChartSerie.
La variable &Data es asignada a la propiedad "GXChartData" del control definido en el form, luego se programa un evento:
// se asignan los nombres de las series
&Incomes.Name="Income"
&Outcomes.Name="Outcome"
// para cada fecha se agrega la categoría correspondiente y los valores para cada una de las series
For each
&Data.Categories.Add(IncomeOutcomeDate)
&Incomes.Values.Add(IncomeAmount)
&Outcomes.Values.Add(OutcomeAmount)
endfor
// se agregan (asocian) ambas series a las categorías
&Data.Series.Add(&Incomes)
&Data.Series.Add(&Outcomes)
Ventas por país y por año
Presentar una gráfica con los ventas de cada país por año.
En este ejemplo habrá N series de valores a graficar (una serie por cada país) y habrá M años (categorías).
Dada la estructura:
SalesYear*
CountryId*
CountryName
SalesTotal
NOTA: suponemos que hay una tabla de Países con CountryId*, CountryName.
Mostrar una gráfica similar a:
Se definen las variables: &Years del tipo GXChartData y la variable &Sales del tipo GXChartSerie.
La variable &Years es asignada a la propiedad GXChartData del control definido en el form, luego se programa un evento:
// se cargan las categorías, es decir, los años donde hubo ventas
for each SalesYear
option distinct
&Years.Categories.Add(SalesYear.ToString())
endfor
// para cada país se carga el nombre de la serie
for each CountryName
&Sales.Name=CountryName
// se totalizan por año las ventas
For each SalesYear
For each
&sales.Values.Add(SalesTotal)
endfor
endfor
// se agrega (asocia) cada serie a las categorías
&Years.Series.Add(&Sales)
// se define una serie nueva
&Sales = New()
Endfor
[...] comentaba en un post anterior, en la versión Rocha se incluye la posibilidad de definir gráficas en un Webform utilizando un [...]
ResponderBorrarventa de relojes y complementos
ResponderBorrar