I need some help to make a calculation in fact a sum for money, as I show in the image below:
Followmycode.
privatevoidListaGrid(){conex.Open();stringstrSQL=@"SELECT DISTINCT
SY.YF_DESC_SI AS [TIPO MOEDA],
RTRIM(SC.C7_PRODUTO) + ' - ' + SC.C7_DESCRI AS PRODUTO,
SUM(SC.C7_QUANT) AS QTDA,
SUM(SC.C7_TOTAL * SC.C7_TXMOEDA) AS TOTAL,
SUM(SC.C7_TOTAL) AS [TOTAL MOEDA]
FROM SC7010 AS SC
INNER JOIN SM2010 AS SM WITH (NOLOCK) ON SM.M2_DATA = SC.C7_EMISSAO
INNER JOIN SA2010 AS SA WITH (NOLOCK) ON SA.A2_COD = SC.C7_FORNECE
INNER JOIN SYF010 AS SY WITH (NOLOCK) ON SY.YF_MOEFAT = SC.C7_MOEDA
WHERE SC.D_E_L_E_T_ <> '*'
AND SC.C7_EMISSAO BETWEEN CONVERT(datetime, '" + txtDtInicial.Text + "', 103) AND CONVERT(datetime,'" + txtDtFinal.Text + "', 103) AND SA.A2_COD = '" + txtCodFornec.Text + "' GROUP BY SC.C7_PRODUTO, SC.C7_DESCRI, SY.YF_DESC_SI ORDER BY RTRIM(SC.C7_PRODUTO) + ' - ' + SC.C7_DESCRI";
comando = new SqlCommand(strSQL, conex);
try
{
SqlDataAdapter dados = new SqlDataAdapter(comando);
DataTable dtLista = new DataTable();
dados.Fill(dtLista);
DGW_PedComprasPic.DataSource = dtLista;
}
catch
{
MessageBox.Show("Não existem dados a serem encontrados");
}
double QTDA = 0;
foreach (DataGridViewRow rowKG in DGW_PedComprasPic.Rows)
{
QTDA += Convert.ToDouble(rowKG.Cells["QTDA"].Value);
}
txtProdkg.Text = Convert.ToString(QTDA);
txtProdkg.Text = QTDA.ToString("N2");
double TotalReal = 0;
foreach (DataGridViewRow rowR in DGW_PedComprasPic.Rows)
{
TotalReal += Convert.ToDouble(rowR.Cells["TOTAL"].Value);
}
txtReal.Text = Convert.ToString(TotalReal);
txtReal.Text = TotalReal.ToString("C");
// double TotalDolar = 0;
// foreach (DataGridViewRow rowD in DGW_PedComprasPic.Rows)
// {
// TotalDolar += Convert.ToDouble(rowD.Cells["TOTAL MOEDA"].Value);
// }
// txtDolar.Text = Convert.ToString(TotalDolar);
// txtDolar.Text = "$ " + TotalDolar.ToString("N2");
// double TotalEuro = 0;
// foreach (DataGridViewRow rowE in DGW_PedComprasPic.Rows)
// {
// TotalEuro += Convert.ToDouble(rowE.Cells["TOTAL MOEDA"].Value);
// }
// txtEuro.Text = Convert.ToString(TotalEuro);
// txtEuro.Text = "€ " + TotalEuro.ToString("N2");
//conex.Close();
}