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

  1. 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.

  2. Abrir o projeto do Action.Net onde o controle será utilizado;

  3. Na aba “Draw”, escolher a página onde o controle será utilizado;

  4. Na barra lateral de ferramentas, escolher o item “Insert Component”;

    Image Modified
  5. Ao abrir a tela de seleção de componentes, selecionar o controle BarAndSplineCustomChart;

    Image Modified
  6. Inserir o controle na tela e dimensioná-lo.

  7. Selecionar o controle e inserir um Uid para o mesmo. É este que será utilizado no code-behind para passar os dados ao gráfico.

  8. 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
languagecs
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
languagecs
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
languagecs
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:

  • Primeira coluna com valores compatíveis com o tipo DateTime; e

  • Segunda coluna com valores compatíveis com os tipos float ou double.

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
languagecs
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
minLevel1
maxLevel3