Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Tip |
---|
This wpf control was developed in order to present a bar chart with line. |
Presentation
The BarAndSplineCustomChart control is a custom chart designed to display historical values for a given tag in column format and with row that touches the history values on the chart.
Image Removed
How to use
Minimum requirements
Este controle WPF foi desenvolvido com o intuito de apresentar um gráfico de barras com linha. |
Apresentação
O controle BarAndSplineCustomChart é um gráfico customizado desenvolvido para apresentar valores de histórico de uma determinada tag no formato de colunas e com linha que toca os valores de histórico no gráfico.
Image Added
Como usar
Requisitos mínimos
Action.Net versão 9.2.28.1 or laterou posterior;
Configuration
Insert the file "SPINConfiguração
Inserir o arquivo “SPIN.ActionNet.View.Wpf.Charts.dll" in the WpfControls folder of the installation (typically under "Cdll” na pasta WpfControls da instalação (normalmente em “C:\Program Files (x86)\SPIN\Action.Net\an-x.x\WpfControls\") if it does not exist.
Open the project of Action.Net where the control will be used;
In the "Draw" tab, choose the page where the control will be used;
In the toolsidebar, choose the item "Insert Component";
Image RemovedWhen you open the component selection screen, select the BarAndSplineCustomChart control;
Image RemovedInsert the control into the screen and scale it.
Select the control and insert a Uid into it. This is what will be used in the code-behind to pass the data to the chart.
Set up the code in the screen code-behind:
”) caso o mesmo não exista.
Abrir o projeto do Action.Net onde o controle será utilizado;
Na aba “Draw”, escolher a página onde o controle será utilizado;
Na barra lateral de ferramentas, escolher o item “Insert Component”;
Image AddedAo abrir a tela de seleção de componentes, selecionar o controle BarAndSplineCustomChart;
Image AddedInserir o controle na tela e dimensioná-lo.
Selecionar o controle e inserir um Uid para o mesmo. É este que será utilizado no code-behind para passar os dados ao gráfico.
Configurar o código no code-behind da tela:
Inicialmente, é necessário acessar o controle a partir do seu Uid. Para pegar uma referência do controle para utilizá-lo, utilize o script a seguir:
Paste code macro | ||
---|---|---|
| ||
SPIN.ActionNet.View.Wpf.Charts.BarAndSplineCustomChart barAndSplineCustomChart1 = this.CurrentDisplay.GetControl("barAndSplineCustomChart1") as SPIN.ActionNet.View.Wpf.Charts.BarAndSplineCustomChart; if(barAndSplineCustomChart1 != null){ //... code goes here } |
Then the data needs to be passed to the control. It has a function for passing data from a datatable to the control. Your subscription can be found belowEm seguida, os dados precisam ser passados para o controle. O mesmo dispõe de uma função para a passagem dos dados a partir de um datatable para o controle. Sua assinatura pode ser conferida abaixo:
Paste code macro | ||
---|---|---|
| ||
public void ApplyHistorianData(string tagName, DataTable histValues){} |
WhereOnde:
tagName: refers to the search tag. This parameter is used for the Header of the chartrefere-se ao tag de pesquisa. Este parâmetro é usado para o Header do gráfico.
histValues: refers to a table whose format consists of the first column with values compatible with the type DateTime and the second column with values compatible with the types float or Double.This function can be called as shown belowrefere-se a uma tabela cujo formato consiste na primeira coluna com valores compatíveis com o tipo DateTime e a segunda coluna com valores compatíveis com os tipos float ou double.
Esta função pode ser chamada de como mostrado abaixo:
Paste code macro | ||
---|---|---|
| ||
string tagName = @"SE01\TR01\tag1.MED.MW"; DataTable result = GetHistorianMeasures(tagName); if(result != null && result.Rows.Count > 0) barAndSplineCustomChart1.ChartControl.ApplyHistorianData(tagName, result); |
Note |
---|
Attention: It is extremely important that the table follows the expected format with two columns, namely:
Tables that do not support this format can have unexpected consequences for the chart. |
Atenção: É extremamente importante que a tabela siga o formato esperado com duas colunas, sendo:
Tabelas não compatíveis com este formato podem trazer consequências inesperadas ao gráfico. |
Esta aplicação específica do exemplo utilizou o Spin toolkit para pesquisa de medidas de um determinado período (últimos 10 dias). O código completo para esta aplicação pode ser verificado abaixo:
Paste code macro | ||||
---|---|---|---|---|
| ||||
using SPIN.ActionNet.View.Wpf.Charts; public void DisplayOpening() { } public void DisplayIsOpen() { } public void DisplayClosing() { } ////This method is only called on Dialog displays public bool DialogOnOK() { return true; } public DataTable GetHistorianMeasures(string tagName){ DataTable result = null; try{ DateTime startDate = DateTime.Now.AddDays(-10); result = @Script.Class.CustomMeasures.GetMeasures(tagName, startDate, DateTime.Now, 10); } catch(Exception ex){ @Info.Trace(ex.Message); } return result; } public void ButGetSampleData_Click(object sender, System.Windows.Input.InputEventArgs e) { SPIN.ActionNet.View.Wpf.Charts.BarAndSplineCustomChart barAndSplineCustomChart1 = this.CurrentDisplay.GetControl("barAndSplineCustomChart1") as SPIN.ActionNet.View.Wpf.Charts.BarAndSplineCustomChart; if(barAndSplineCustomChart1 != null){ string tagName = @"SE01\TR01\tag1.MED.MW"; DataTable result = GetHistorianMeasures(tagName); if(result != null && result.Rows.Count > 0) barAndSplineCustomChart1.ChartControl.ApplyHistorianData(tagName, result); } } |
Paste code macro | ||||
---|---|---|---|---|
| ||||
using SPIN.ActionNet.Biz.Toolkit.Reports; using System.Threading.Tasks; public DataTable GetMeasures(string tagName, DateTime startDate, DateTime endDate, int interval) { List<string> tagNames = new List<string>(); tagNames.Add(tagName); DataTable result = Measures.GetReport(tagNames,startDate, endDate, interval); return result; } |
Membros de BarAndSplineCustomChart
No controle foram expostas aos usuários algumas propriedades e métodos para uso do gráfico. Nas tabelas a seguir, é possível visualizar os nomes das propriedades e dos métodos e suas descrições:
Propriedades
Nome | Descrição |
---|---|
TagName | Nome da tag a qual o gráfico se refere. Este nome será mostrado no cabeçalho do gráfico |
HistValues | Lista observável de objetos do tipo HistorianValues que contém informações de valor e Timestamp da tag |
XAxisLabelFormat | Corresponde ao formato do texto desejado para o label do eixo X. Este é o eixo de data / hora. O formato padrão para esta propriedade é “MMM-dd HH:mm”. |
XAxisLabelRotationAngle | Corresponde ao ângulo de rotação desejado para o label do eixo X. Deve-se passar valores de -360 a 360. |
YAxisLabelFormat | Corresponde ao formato do texto desejado para o label do eixo Y. Este é o Eixo de valores. O formato padrão para esta propriedade é “N0”. |
YAxisLabelRotationAngle | Corresponde ao ângulo de rotação desejado para o label do eixo Y. Deve-se passar valores de -360 a 360. |
Métodos
Nome | Descrição |
---|---|
ApplyHistorianData(string, DataTable) | Método que transforma os parâmetros passados em linhas e colunas do gráfico e aplica estas informações ao gráfico. Parâmetros tagName: refere-se ao tag de pesquisa. Este parâmetro é usado para o Header do gráfico. histValues: refere-se a uma tabela cujo formato consiste na primeira coluna com valores compatíveis com o tipo DateTime e a segunda coluna com valores compatíveis com os tipos float ou double |
Scroll ignore | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
On this pageNesta página: |