Example #1
0
        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);
            }
        }