private void FgDetalle_CellChanged(object sender, C1.Win.C1FlexGrid.RowColEventArgs e) { DataTable dtUniMed = new DataTable(); int intProductoId = 0; int intUniMedId = 0; if (e.Col == 1) // SI SE HA SELECCIONADO ALGUN ITEM DE LA COLUMNA 1 { string strItemDescripcion = FgDetalle.GetData(e.Row, 1).ToString(); intProductoId = Convert.ToInt32(funDatos.DataTableBuscar(dtItems, "c_despro", "n_id", strItemDescripcion, "C")); // OBTENEMOS EL ID DEL ITEM SELECCIONADO FgDetalle.SetData(e.Row, 6, intProductoId); dtUniMed = funDatos.DataTableFiltrar(dtUnidadMedida, "n_idite = " + intProductoId + ""); // FILTRAMOS POR ID DEL PRODUCTO if (dtUniMed.Rows.Count != 0) { funFlex.FlexColumnaCombo(FgDetalle, dtUniMed, "c_abr", 2); } dtUniMed = funDatos.DataTableFiltrar(dtUniMed, "n_default = 1"); // FILTRAMOS LA UNIDAD DE MEDIDA POR DEFECTO FgDetalle.SetData(e.Row, 2, dtUniMed.Rows[0]["c_abr"].ToString()); // ESTABLECEMOS LA ABREVIATURA DE LA UNIDAD DE MEDIDA FgDetalle.SetData(e.Row, 7, dtUniMed.Rows[0]["n_idunimed"].ToString()); // ESTABLECEMOS EL ID DE LA UNIDAD DE MEDIDA double doupreuniigv = Convert.ToDouble(dtUniMed.Rows[0]["n_preuniigv"].ToString()); double doupreuni = Convert.ToDouble(dtUniMed.Rows[0]["n_preuni"].ToString()); FgDetalle.SetData(e.Row, 4, doupreuniigv.ToString("0.000000")); // ESTABLECEMOS EL PRECIO CON IGV DEL ITEM FgDetalle.SetData(e.Row, 8, doupreuni.ToString("0.000000")); // ESTABLECEMOS EL PRECIO SIN IGV DEL ITEM CalcularFila(e.Row); } if (e.Col == 2) // SI SE HA SELECCIONADO ALGUN ITEM DE LA COLUMNA 2 { intProductoId = Convert.ToInt32(FgDetalle.GetData(e.Row, 6)); string strUnidadMedidaDescripcion = FgDetalle.GetData(e.Row, 2).ToString(); intUniMedId = Convert.ToInt32(funDatos.DataTableBuscar(dtUnidadMedida, "c_abr", "n_idunimed", strUnidadMedidaDescripcion, "C")); FgDetalle.SetData(e.Row, 7, intUniMedId); dtUniMed = funDatos.DataTableFiltrar(dtUnidadMedida, "n_idunimed = " + intUniMedId + " AND n_idite = " + intProductoId + ""); // FILTRAMOS LA UNIDAD DE MEDIDA POR DEFECTO double doupreuniigv = Convert.ToDouble(dtUniMed.Rows[0]["n_preuniigv"].ToString()); double doupreuni = Convert.ToDouble(dtUniMed.Rows[0]["n_preuni"].ToString()); FgDetalle.SetData(e.Row, 2, dtUniMed.Rows[0]["c_abr"].ToString()); // ESTABLECEMOS LA ABREVIATURA DE LA UNIDAD DE MEDIDA FgDetalle.SetData(e.Row, 7, dtUniMed.Rows[0]["n_idunimed"].ToString()); // ESTABLECEMOS EL ID DE LA UNIDAD DE MEDIDA FgDetalle.SetData(e.Row, 4, doupreuniigv.ToString("0.000000")); // ESTABLECEMOS EL PRECIO CON IGV DEL ITEM FgDetalle.SetData(e.Row, 8, doupreuni.ToString("0.000000")); // ESTABLECEMOS EL PRECIO SIN IGV DEL ITEM CalcularFila(e.Row); } if ((e.Col == 3) || (e.Col == 4)) { if (e.Col == 4) { FgDetalle.SetData(FgDetalle.Row, 8, "0.00"); } CalcularFila(e.Row); } }