Due to space, the above snippets form the core. A complete project file ( BillingSystem.sln ) includes:
Private Sub btnAddProduct_Click(sender As Object, e As EventArgs) Handles btnAddProduct.Click ' Assume a popup product search form returns selected product Dim frm As New frmProductSearch() If frm.ShowDialog() = DialogResult.OK Then Dim newRow As DataRow = dtDetails.NewRow() newRow("ProductID") = frm.SelectedProductID newRow("ProductName") = frm.SelectedProductName newRow("Quantity") = 1 newRow("Rate") = frm.Rate ' Tax calculation will be done row-by-row based on GST% Dim gstPercent As Decimal = frm.GSTPercent Dim taxable As Decimal = newRow("Quantity") * newRow("Rate") newRow("TaxableValue") = taxable newRow("CGST") = Math.Round(taxable * (gstPercent / 100) / 2, 2) newRow("SGST") = Math.Round(taxable * (gstPercent / 100) / 2, 2) dtDetails.Rows.Add(newRow) CalculateTotals() End If End Sub