private void dgvSubfamilias_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            //castear objetos y mostrar valor determinado
            SubFamiliaWS.subFamilia subfamilia = dgvSubfamilias.Rows[e.RowIndex].DataBoundItem
                                                 as SubFamiliaWS.subFamilia;

            dgvSubfamilias.Rows[e.RowIndex].Cells["FAMILIA"].Value = subfamilia.familia.descripcion;
        }
 public static void eliminar()
 {
     subfamiliaSeleccionada = (SubFamiliaWS.subFamilia)dgv.CurrentRow.DataBoundItem;
     daoSubFamilia.eliminarSubFamilia(subfamiliaSeleccionada.idSubFamilia);
 }
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            foreach (Control c in panel2.Controls)
            {
                if (c is TextBox)
                {
                    TextBox textBox = c as TextBox;
                    if (textBox.Text == string.Empty && textBox.Name != "txtId")
                    {
                        MessageBox.Show("Falta llenar los datos de " + textBox.Name.Substring(3),
                                        "Mensaje de advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                    else
                    {
                        if (textBox == txtDescripcion)
                        {
                            String txtNombreAux = string.Join("", textBox.Text.Split(default(string[]), StringSplitOptions.RemoveEmptyEntries));
                            if (!txtNombreAux.Trim().All(Char.IsLetter))
                            {
                                MessageBox.Show("Los datos de " + textBox.Name.Substring(3) + " solo pueden contener letras",
                                                "Mensaje de advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                return;
                            }
                        }
                    }
                }

                if (c is ComboBox)
                {
                    ComboBox cmbBox = c as ComboBox;
                    if (cmbBox.SelectedIndex == -1)
                    {
                        MessageBox.Show("Falta escoger el dato de " + cmbBox.Name.Substring(3),
                                        "Mensaje de advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                }
            }

            frmConfirmarInsertar formInsertar = new frmConfirmarInsertar();

            if (formInsertar.ShowDialog() == DialogResult.OK)
            {
                SubFamiliaWS.subFamilia subFamilia = new SubFamiliaWS.subFamilia();
                subFamilia.descripcionSubFamilia = txtDescripcion.Text;
                subFamilia.familia           = new SubFamiliaWS.familia();
                subFamilia.familia.idFamilia = ((FamiliaWS.familia)cboFamilia.SelectedItem).idFamilia;
                if (frmVentanaPrincipal.nBtn == 0)
                {
                    int resultado = daoSubfamilia.insertarSubFamilia(subFamilia);
                    txtId.Text = resultado.ToString();
                    if (resultado == 0)
                    {
                        MessageBox.Show("No se insertó correctamente", "Mensaje de error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        ((frmGestionarSubfamilias)Program.pantallas[Program.pantallas.Count - 2].Formulario).recargarDGV();
                        MessageBox.Show("Se insertó correctamente", "Mensaje de confirmacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else if (frmVentanaPrincipal.nBtn == 1)
                {
                    subFamilia.idSubFamilia = Int32.Parse(txtId.Text);
                    int resultado = daoSubfamilia.actualizarSubFamilia(subFamilia);
                    if (resultado == 0)
                    {
                        MessageBox.Show("No se actualizó correctamente", "Mensaje de error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        ((frmGestionarSubfamilias)Program.pantallas[Program.pantallas.Count - 2].Formulario).recargarDGV();
                        MessageBox.Show("Se actualizó correctamente", "Mensaje de confirmacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
        }