private void CbxSeleccionServicio_SelectedIndexChanged(object sender, EventArgs e) { if (CbxSeleccionServicio.SelectedItem.Equals("Servicio")) { var servicios = new FrmServicios(perfil) { BtnAgregar = { Visible = true }, BtnGuardar = { Visible = false }, BtnModificar = { Visible = false }, BtnCancelarSer = { Visible = true } }; //oculto y hago visibles los botones que necesito servicios.ShowDialog(); try { if (servicios.TablaSeleccionada.Rows.Count != 0) { // para que me acomode los datos que vienen de la otra tabla foreach (DataRow Dato in servicios.TablaSeleccionada.Rows) { var dr = DTDatos.NewRow(); dr["Codigo"] = Dato["Codigo"].ToString(); dr["Nombre"] = Dato["Nombre"].ToString(); dr["VrUnitario"] = Dato["VrUnitario"].ToString(); dr["Cantidad"] = Dato["Cantidad"].ToString(); dr["Subtotal"] = Dato["Subtotal"].ToString(); this.DTDatos.Rows.Add(dr); GridViewRemision.DataSource = DTDatos; GridViewRemision.ClearSelection(); int indiceUltimaFila = GridViewRemision.Rows.Count - 1; GridViewRemision.Rows[indiceUltimaFila].Selected = true; GridViewRemision.Refresh(); foreach (DataGridViewRow dts in GridViewRemision.Rows) { var Codigo = dts.Cells[0].Value; bool exist = GridViewRemision.Rows.Cast <DataGridViewRow>().Any(row => Convert.ToString(Codigo) == dr["Codigo"].ToString()); if (exist) { if (dts.Index == indiceUltimaFila) { } else { GridViewRemision.Rows.RemoveAt(indiceUltimaFila); //eliminar la última fila MessageBox.Show("El Servicio ya existe", "SmartPrint", MessageBoxButtons.OK, MessageBoxIcon.Error); break; } } else { } } InhabilitarGriv(); //Metodo para que no me permita editar, ni borrar datos del griv. GridViewRemision.AllowUserToOrderColumns = false; //Esto para que no me permita mover las columnas Calcular(); } } } catch (Exception) { _objUtilidades.Mensajes("Error", "No Selecciono un Servicio "); } } else { var otrosServicios = new FrmOtrosServicios(perfil) { BtnAgregar = { Visible = true }, BtnGuardar = { Visible = false }, BtnModificar = { Visible = false }, BtnCancelarSer = { Visible = true } }; otrosServicios.ShowDialog(); if (otrosServicios.TablaSeleccionada.Rows.Count != 0) { foreach (DataRow Dato in otrosServicios.TablaSeleccionada.Rows) { var dr = DTDatos.NewRow(); dr["Codigo"] = Dato["Codigo"].ToString(); dr["Nombre"] = Dato["Nombre"].ToString(); dr["VrUnitario"] = Dato["VrUnitario"].ToString(); dr["Cantidad"] = Dato["Cantidad"].ToString(); dr["Subtotal"] = Dato["Subtotal"].ToString(); this.DTDatos.Rows.Add(dr); GridViewRemision.DataSource = DTDatos; GridViewRemision.ClearSelection(); int indiceUltimaFila = GridViewRemision.Rows.Count - 1; GridViewRemision.Rows[indiceUltimaFila].Selected = true; foreach (DataGridViewRow dts in GridViewRemision.Rows) { var Codigo = dts.Cells[0].Value; bool exist = GridViewRemision.Rows.Cast <DataGridViewRow>().Any(row => Convert.ToString(Codigo) == dr["Codigo"].ToString()); if (exist) { if (dts.Index == indiceUltimaFila) { } else { GridViewRemision.Rows.RemoveAt(indiceUltimaFila); //Para eliminar la fila MessageBox.Show("El Servicio ya existe", "SmartPrint", MessageBoxButtons.OK, MessageBoxIcon.Error); break; } } else { } } } InhabilitarGriv(); //Metodo para que no me permita editar, ni borrar datos del griv. GridViewRemision.AllowUserToOrderColumns = false; //Esto para que no me permita mover las columnas Calcular(); } } }
//Boton Servicio private void BtnServicios_Click(object sender, EventArgs e) { FrmServicios FrmInicio = new FrmServicios(perfil); FrmInicio.ShowDialog(); }