Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Tip |
---|
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 RemovedImage Added
Como usar
Requisitos mínimos
Action.Net versão 9.2.28.1 ou posterior;
Configuração
Inserir o arquivo “SPIN.ActionNet.View.Wpf.Charts.dll” na pasta WpfControls da instalação (normalmente em “C:\Program Files (x86)\SPIN\Action.Net\an-x.x\WpfControls\”) 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 ModifiedAo abrir a tela de seleção de componentes, selecionar o controle BarAndSplineCustomChart;
Image ModifiedInserir 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 } |
Em 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){} |
Onde:
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.
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 |
---|
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); } } |
Nesta pagina:
Table of Contents | ||||
---|---|---|---|---|
|