C# 我需要帮助在datagridview中正确显示增值税金额

C# 我需要帮助在datagridview中正确显示增值税金额,c#,.net,windows,winforms,datagridview,C#,.net,Windows,Winforms,Datagridview,private void dataGridView1\u CellEndEdit(对象发送方,DataGridViewCellEventArgs e) { foreach(dataGridView1.Rows中的DataGridViewRow行) { row.Cells[dataGridView1.Columns[“Amount”].Index].Value=(Convert.ToDecimal(row.Cells[dataGridView1.Columns[“Qtty”].Index].Val

private void dataGridView1\u CellEndEdit(对象发送方,DataGridViewCellEventArgs e)
{
foreach(dataGridView1.Rows中的DataGridViewRow行)
{
row.Cells[dataGridView1.Columns[“Amount”].Index].Value=(Convert.ToDecimal(row.Cells[dataGridView1.Columns[“Qtty”].Index].Value)*
Convert.ToDecimal(row.Cells[dataGridView1.Columns[“PurchasePrice”].Index.Value));
十进制和=0;
对于(int i=0;i
这是我关于发票设计的代码,但在增值税计算方面不起作用


注:此处所有价格必须包含增值税

让您的生活变得轻松,将数据和计算放入数据表并将其绑定到网格:

var dt = new DataTable();
dt.Columns.Add("InvoiceId");
dt.Columns.Add("ExVat", typeof(double));
dt.Columns.Add("IncVat", typeof(double)).Expression = "[ExVat] * 1.15";

someNewBlankDataGridViewOnYourForm.DataSource = dt;
正如最后一行代码所暗示的,如果在表单上放置一个新的datagridview并将其绑定到此datatable(设置其DataSource属性),可能是最简单的方法

现在,您需要做的就是让用户键入ID和增值税税额。inc增值税金额将自动计算


让您的生活更加轻松,向项目中添加新的数据集类型的文件,向其中添加表,添加列,并在设计器中设置您在上面看到的所有内容(表达式、数据类型、名称等)。。以这种方式制作的数据表更易于使用

谢谢@Caius也许你很容易做到这一点,但对我来说,我仍然混淆了如何将数据集与DGV一起使用以及如何相互连接……很明显,我是C#开发方面的新手,所以,如果您可以像上面所说的那样写几行代码来帮助我完成这项工作,或者在这里帮助我完成这项工作,您可以定义VAT显示不正确的问题所在吗?快速运行:数据集是DataTable和DataRelation的集合。在此代码中没有使用数据集。DataTable是DataRow和DataColumn的集合,有点像数据库。DataColumn要么将值放入其中,要么使用表达式属性基于其他列计算值当我说“添加数据集”时,我的意思是在解决方案资源管理器中右键单击项目并选择“添加新项”。。数据集。然后,您可以直观地设计所有这些设置。这与编写eg
var da=new DataSet()的过程不同-它创建了一个简单的数据集,它的功能远不如向项目中添加数据集文件,然后进行设计。这与添加表单时的功能差不多。您可以使用code
var f=new Form()编写代码但该表单只是空的,等等。如果您将表单添加为文件,然后打开它,您可以对其进行完全设计等等,您可以查看Form1.Designer.cs,查看表单设计器为您编写的数百行代码。数据集文件和设计器是相同的想法
var dt = new DataTable();
dt.Columns.Add("InvoiceId");
dt.Columns.Add("ExVat", typeof(double));
dt.Columns.Add("IncVat", typeof(double)).Expression = "[ExVat] * 1.15";

someNewBlankDataGridViewOnYourForm.DataSource = dt;