Cuarta práctica en C#

Elaborar programas con el objeto DataGridView, que simule la facturación de productos, recibiendo el precio y la cantidad facturada.

Debe mostrar el total facturado.

En caso de eliminar un registro del datagrid el total también debe modificarse.

Código:

public partial class Form1 : Form

    {

        float total_facturacion = 0;

        public Form1()

        {

            InitializeComponent();

        }

 

        private void btnagregar_Click(object sender, EventArgs e)

        {

            float precio, cantidad, total;

            if (string.IsNullOrWhiteSpace(txtproducto.Text))

            {

                MessageBox.Show("Completar producto");

                txtproducto.Focus();

                return;

            }

            else if (string.IsNullOrWhiteSpace(txtprecio.Text))

            {

                MessageBox.Show("Completar precio");

                txtprecio.Focus();

                return;

            }

            else if(string.IsNullOrWhiteSpace(txtcantidad.Text))

            {

                MessageBox.Show("Completar cantidad");

                txtcantidad.Focus();

                return;

            }

            precio = float.Parse(txtprecio.Text);

            cantidad = float.Parse(txtcantidad.Text);

            total = precio * cantidad;

            total_facturacion = total_facturacion + total;

            txttotalfacturado.Text = total_facturacion.ToString();

 

            dgvfacturacion.Rows.Add(txtproducto.Text, txtprecio.Text, txtcantidad.Text, total);

            txtproducto.Clear();

            txtprecio.Clear();

            txtcantidad.Clear();

            txtproducto.Focus();

        }

 

        private void dgvfacturacion_DoubleClick(object sender, EventArgs e)

        {

            int fila = dgvfacturacion.CurrentRow.Index;

            txtproducto.Text = dgvfacturacion.Rows[fila].Cells[0].Value.ToString();

            txtprecio.Text = dgvfacturacion.Rows[fila].Cells[1].Value.ToString();

            txtcantidad.Text = dgvfacturacion.Rows[fila].Cells[2].Value.ToString();

            txtprecio.Focus();

 

            total_facturacion = total_facturacion - float.Parse(dgvfacturacion.Rows[fila].Cells[3].Value.ToString());

            txttotalfacturado.Text = total_facturacion.ToString();

            dgvfacturacion.Rows.RemoveAt(fila);

        }

Ejemplo:


Comentarios