使用离子管进行数据转换

时间:2017-09-14 06:06:23

标签: angular ionic-framework

我尝试在离子项目中使用管道,但无法更改数据,它显示了一些错误。 请为此提出解决方案。

管:

// Stampa completa con prezzo
if (comboBoxStampe.Text== "Stampa con Prezzo")
{              
    try
    {
        //contro i valori cekkati:
        int contacheck = 0;
        //Devo effettuare tutti i controlli

        //Il ricarico non funziona correttamente con il punto quindi controllo se è presente il punto se c'è lo 
        //sostituisco con la ,
        if (textBoxRicarico.Text.Contains("."))
        {
            textBoxRicarico.Text = textBoxRicarico.Text.Replace(".", ",");
        }

        float Ricarico = float.Parse(textBoxRicarico.Text);

        //Setto la parte iniziale della query
        String Query = "SET LANGUAGE 'Italian' select Tipo, Data, GG, CodArt as 'CodArt',Descrizione,Quantita as 'Quantita',Prezzo,Totale from (  ";

        //Prima parte della query

        //controllo se gli articoli sono selezionati
        if (checkedListBoxCosaStampare.SelectedIndex == 0)
        {                        
            Query = Query + "Select 'A' as Tipo, CONVERT(VARCHAR(10), ArticoloCantiere.DataInserimento, 105) as Data, DATENAME(WEEKDAY, ArticoloCantiere.DataInserimento) as GG, ArticoloCantiere.CodArt, ArticoloCantiere.Descrizione, ArticoloCantiere.Quantita, (ArticoloCantiere.Prezzo+((ArticoloCantiere.Prezzo/100)*'"+Ricarico+"')) as Prezzo, (ArticoloCantiere.Prezzo+((ArticoloCantiere.Prezzo/100)*'"+Ricarico+"'))*Quantita as Totale  from Cantiere  inner join ArticoloCantiere  on Cantiere.IdCantiere = ArticoloCantiere.IdCantiere  where ArticoloCantiere.IdCantiere = '"+IdCantiere+"'  ";
            contacheck++;
        }

        //controllo le spese sostenute
        if (checkedListBoxCosaStampare.SelectedIndex == 1)
        {
            //controllo se è stato precendentemente selezionato qualcosa
            if (contacheck >0)
            {
                Query = Query + " union ";
            }

            Query = Query + " Select 'S' as Tipo, CONVERT(VARCHAR(10), SpeseSostenute.Data, 105) as Data, DATENAME(WEEKDAY, SpeseSostenute.Data) as GG, '' as CodArt, 'Causale: ' + SpeseSostenute.Causale + ' --- Descrizione: ' + DescrizioneLibera as Descrizione, '' as Quantita, (SpeseSostenute.Costo+((SpeseSostenute.Costo/100)*'"+Ricarico+"')) as Prezzo, '' as Totale  from SpeseSostenute  where IdCantiere = '"+IdCantiere+"'  ";
        }

        //setto la parte finale della query
        Query = Query + "    )Q order by Data ";

        MessageBox.Show("Mostra Query "+Query);

        //eseguo la stampa
        StampaCompletaCantiereconPrezzo s = new StampaCompletaCantiereconPrezzo();
        s.db = db;
        s.IdCantiere = IdCantiere;
        s.Query = Query;
        s.Show();

        this.Close();
    }
    catch(Exception ex)
    {
        MessageBox.Show("Controlla che tutti i campi siano compilati correttamente, errore: "+ex);
    }
}
else if(comboBoxStampe.Text== "Stampa senza Prezzo")
{
    MessageBox.Show("Stampa Disabilitata");
}
else if (comboBoxStampe.Text == "Stampa Rapportini")
{
    MessageBox.Show("Stampa Disabilitata");
}
else
{
    MessageBox.Show("Devi selezionare una stampa");
}

HTML:

@Pipe({
  name: 'statusupdater'
})
export class StatusUpdater {

  transform(value, args) {
    let status=value;
    if(value=='L')
    {
      status='Landed'
    }
    if(value=='A')
    {
      status='Estimated'
    }
    if(value=='C')
    {
      status='Cancelled'
    }

    return status;
  }
}

错误:

enter image description here

2 个答案:

答案 0 :(得分:1)

您缺少实施PipeTransform界面。

@Pipe({
  name: 'statusupdater'
})
export class StatusUpdater implements PipeTransform {
   ...
}

答案 1 :(得分:0)

您将其声明为“statusupdatEr'但然后将其用作“statusupdatOr'。