如何删除总计和税金?

时间:2017-05-21 09:10:27

标签: c#

当我想删除我的Total时,它会删除总数而不是税收(BTW)。

private void btnVerkooplijnVerwijderen_Click(object sender, EventArgs e)
    {
        Int32 i;


        // Rijnummer bepalen
        i = dgvVerkooplijnen.CurrentRow.Index;

        // Totaal aanpassen
        dblHKTotaal -= 0;
        dblVerzendkostenTotaal -= 0;
        dblBTWTotaal -= 0;
        dblTotaal -= Convert.ToDouble(dgvVerkooplijnen.Rows[i].Cells["Subtotaal"].Value);
        lblBTWTotaal.Text = "€ " + dblBTWTotaal.ToString("N2");
        lblTotaal.Text = "€ " + dblTotaal.ToString("N2");

        // Rij verwijderen
        dgvVerkooplijnen.Rows.RemoveAt(i);
    }

Application overview image

1 个答案:

答案 0 :(得分:0)

在不知道如何创建数据表的情况下,我将为您提供更直接的方法来计算行总计和表总计。例如,要创建一个完整的行项目,我可以按以下方式设置数据表

a.contains(a,x)

你在这里看到的是计算逻辑现在变成了我的数据表的功能。我不必单独计算所有项目,在添加行时,var table = new DataTable(); table.Columns.Add( "Id", typeof(Int32) ); table.Columns.Add( "Code", typeof(String) ); table.Columns.Add( "Description", typeof(string) ); table.Columns.Add( "Quantity", typeof(Int32) ); table.Columns.Add( "ItemPrice", typeof(decimal) ); table.Columns.Add( "SubTotal", typeof( decimal ), "Quantity*ItemPrice"); table.Columns.Add( "Taxes", typeof( decimal ), "SubTotal*0.21"); table.Columns.Add( "LineTotal", typeof( decimal ), "SubTotal + Taxes"); SubTotalTaxes会自动计算。这是通过使用DataColumn.Expression

完成的

然后我可以添加项目,例如:

LineTotal

然后我可以使用DataTable.Compute功能来计算我所需的总数,如下所示:

table.Rows.Add( 1, "DECA10", "Coffee decafinated", 1, 2.5 );
table.Rows.Add( 2, "ESPR", "Espresso", 2, 2.5 );

然后显示它们(在您的程序中,或在我的情况下在控制台内),如下所示:

decimal subTotal = (decimal)table.Compute( "Sum(SubTotal)", "");
decimal total = (decimal)table.Compute( "Sum(LineTotal)", "");
decimal taxTotal = (decimal)table.Compute( "Sum(Taxes)", "");
Int64 quantityTotal = (Int64)table.Compute( "Sum(Quantity)", "");

这个小型演示程序的示例,您可以找到dotnetfiddle here