Eliminar fila de un DataGrirdView enlazado a un array

Iniciado por leopaez, 22 Mayo 2017, 21:10 PM

0 Miembros y 1 Visitante están viendo este tema.

leopaez

Hola a todos, el programa es desarrollado en visual studio, windows Forms. Lo que se desea es buscar un registro para despues borrarlo. Las demas intrucciones; guardar y buscar estan ya desarrolladas. Solo faltaria eliminar.

Código (csharp) [Seleccionar]
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Fase3_LeoPaez
{

    public partial class Form1 : Form
    {
        ArrayList Personas = new ArrayList();
        public Form1()
        {
            InitializeComponent();
            Inhabilitar();
        }

        private void registarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (txtCedula.Text == "")
            {
                eperror.SetError(txtCedula, "Debe ingresar un numero de cedula");
                txtCedula.Focus();
                return;
            }
            eperror.SetError(txtCedula, "");

            decimal num;
            if (!Decimal.TryParse(txtCedula.Text, out num))
            {
                eperror.SetError(txtCedula, "Debe ingresar un valor numerico");
                txtCedula.Focus();
                return;
            }
            eperror.SetError(txtCedula, "");

            if(Existe(txtCedula.Text))
            {
                eperror.SetError(txtCedula, "Esta cedula ya ha sido registrada");
                txtCedula.Focus();
                return;
            }

            if (txtNombre.Text == "")
            {
                eperror.SetError(txtNombre, "Debe ingresar un Nombre");
                txtNombre.Focus();
                return;
            }
            eperror.SetError(txtNombre, "");

            if (txtCorreo.Text == "")
            {
                eperror.SetError(txtCorreo, "Debe ingresar un correo");
                txtCorreo.Focus();
                return;
            }
            eperror.SetError(txtCorreo, "");

            decimal numero;
            if (!Decimal.TryParse(txtEdad.Text, out numero))
            {
                eperror.SetError(txtEdad, "Debe ingresar un valor numerico");
                txtEdad.Focus();
                return;
            }
            eperror.SetError(txtEdad, "");

            Persona_Leo miPersona = new Persona_Leo();
            miPersona.Cedula = Decimal.Parse(txtCedula.Text);
            miPersona.Nombre = txtNombre.Text;
            miPersona.Email = txtCorreo.Text;
            miPersona.Edad = Decimal.Parse(txtEdad.Text);
            Personas.Add(miPersona);

            dgvDatos.DataSource = null;
            dgvDatos.DataSource = Personas;

            Limpiar();
            txtCedula.Focus();
           



        }

        private bool Existe(string Cedula)
        {
          foreach (Persona_Leo Persona in Personas)
            {
                if (Persona.Cedula.ToString() == Cedula) return true;
            }
            return false;
        }

        public void Limpiar()
        {
            txtCedula.Clear();
            txtNombre.Clear();
            txtCorreo.Clear();
            txtEdad.Clear();
        }

        public void Inhabilitar()
        {
            eliminarToolStripMenuItem.Enabled = false;
         }




        private void salirToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void eliminarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (Personas.Count != 0)
            {
               
                               
                MessageBox.Show("Se elimino el registro", "Atención");
                Limpiar();
            }
            else
            {
                MessageBox.Show("La lista esta vacia", "Atención");
                Limpiar();
            }
        }

        private void buscarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (txtCedula.Text == "")
            {
                eperror.SetError(txtCedula, "Debe ingresar una cedula");
                txtCedula.Focus();
                return;
            }
            eperror.SetError(txtCedula, "");

            Persona_Leo miPersona = Obtener(txtCedula.Text);
            if (miPersona == null)
            {
                eperror.SetError(txtCedula, "El Trabajador no existe");
                txtCedula.Focus();
                return;
            }
            eperror.SetError(txtCedula, "");

            txtCedula.Text = miPersona.Cedula.ToString();
            txtNombre.Text = miPersona.Nombre;
            txtCorreo.Text = miPersona.Email;
            txtEdad.Text = miPersona.Edad.ToString();
            eliminarToolStripMenuItem.Enabled = true;
        }

            private Persona_Leo Obtener(String Cedula)
        {
            foreach (Persona_Leo miPersona in Personas)
            {
                if (miPersona.Cedula.ToString() == Cedula) return miPersona;
            }
            return null;
        }

        private void limpiarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Limpiar();
        }

       
    }
   
}