private void BtnEliminar_Click(object sender, EventArgs e)
        {
            try
            {
                DialogResult opcion;
                opcion = MessageBox.Show("Se eliminarán el(las) Tarea(s) asociado(s) a esta funcion, realmente deseas eliminar el(los) registro(s) ? ", "Control de Tareas", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (opcion == DialogResult.OK)
                {
                    int    codigo;
                    string Rpta = "";

                    codigo = Convert.ToInt32(DgvListado.CurrentRow.Cells[3].Value.ToString());
                    Rpta   = NFuncion.Eliminar(codigo);

                    if (Rpta.Equals("OK"))
                    {
                        this.MensajeOk("Se elimino el registro: " + Convert.ToString(DgvListado.CurrentRow.Cells[3].Value));
                    }
                    else
                    {
                        this.MensajeError(Rpta);
                    }
                    this.Listar();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + ex.StackTrace);
            }
        }
 private void BtnActualizar_Click(object sender, EventArgs e)
 {
     try
     {
         string Rpta = "";
         if (TxtDescripcion.Text == string.Empty || DtpFechaTermino.Text == string.Empty || CboDepto.Text == string.Empty)
         {
             this.MensajeError("Se deben rellenar todos los datos obligatorios, seran remarcados.");
             ErrorIcono.SetError(TxtDescripcion, "Ingrese una descripcion.");
             ErrorIcono.SetError(DtpFechaTermino, "Ingrese una fecha de termino.");
             ErrorIcono.SetError(CboDepto, "Ingrese un departamento.");
         }
         else
         {
             Rpta = NFuncion.Actualizar(Convert.ToInt32(TxtId.Text.Trim()), this.DescAnterior, TxtDescripcion.Text.Trim(), Convert.ToDateTime(DtpFechaTermino.Text.Trim()), Convert.ToInt32(CboDepto.SelectedValue));
             if (Rpta.Equals("OK"))
             {
                 this.MensajeOk("Se actualizó de forma correcta el registro");
                 this.Limpiar();
                 this.Listar();
             }
             else
             {
                 this.MensajeError(Rpta);
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + ex.StackTrace);
     }
 }
        private void DgvListado_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == DgvListado.Columns["Seleccionar"].Index)
            {
                DataGridViewCheckBoxCell Chkeliminar = (DataGridViewCheckBoxCell)DgvListado.Rows[e.RowIndex].Cells["Seleccionar"];
                Chkeliminar.Value = !Convert.ToBoolean(Chkeliminar.Value);
            }

            //Cell content click para el icono de eliminar
            if (e.ColumnIndex == DgvListado.Columns["Eliminar"].Index)
            {
                try
                {
                    DialogResult opcion;
                    opcion = MessageBox.Show("Se eliminarán el(las) Tarea(s) asociado(s) a esta funcion, realmente deseas eliminar el(los) registro(s) ? ", "Control de Tareas", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                    if (opcion == DialogResult.OK)
                    {
                        int    codigo;
                        string Rpta = "";

                        codigo = Convert.ToInt32(DgvListado.CurrentRow.Cells[3].Value.ToString());
                        Rpta   = NFuncion.Eliminar(codigo);

                        if (Rpta.Equals("OK"))
                        {
                            this.MensajeOk("Se elimino el registro: " + Convert.ToString(DgvListado.CurrentRow.Cells[3].Value));
                        }
                        else
                        {
                            this.MensajeError(Rpta);
                        }
                        this.Listar();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message + ex.StackTrace);
                }
            }

            //Cell Content Click para el icono de editar
            if (e.ColumnIndex == DgvListado.Columns["Editar"].Index)
            {
                this.Limpiar();
                BtnActualizar.Visible    = true;
                BtnInsertar.Visible      = false;
                TxtId.Text               = Convert.ToString(DgvListado.CurrentRow.Cells["id_funcion"].Value);
                this.DescAnterior        = Convert.ToString(DgvListado.CurrentRow.Cells["descripcion"].Value);
                TxtDescripcion.Text      = Convert.ToString(DgvListado.CurrentRow.Cells["descripcion"].Value);
                DtpFechaTermino.Text     = Convert.ToString(DgvListado.CurrentRow.Cells["fecha_termino"].Value);
                CboDepto.Text            = Convert.ToString(DgvListado.CurrentRow.Cells["nombre_depto"].Value);
                TabGeneral.SelectedIndex = 1;
            }
        }
 private void CargarFuncionBuscar()
 {
     try
     {
         CboBuscar.DataSource    = NFuncion.Listar();
         CboBuscar.ValueMember   = "id_funcion";
         CboBuscar.DisplayMember = "Descripcion";
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + ex.StackTrace);
     }
 }
 private void Listar()
 {
     try
     {
         DgvListado.DataSource = NFuncion.Listar();
         this.Limpiar();
         //this.Formato();
         LblTotal.Text = "Total Registros: " + Convert.ToString(DgvListado.Rows.Count);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + ex.StackTrace);
     }
 }
 private void BtnBuscar_Click(object sender, EventArgs e)
 {
     try
     {
         DgvListado.DataSource = NFuncion.Buscar(Convert.ToInt32(CboBuscar.SelectedValue));
         this.Limpiar();
         //this.Formato();
         LblTotal.Text = "Total Registros: " + Convert.ToString(DgvListado.Rows.Count);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + ex.StackTrace);
     }
 }