Пример #1
0
        //SE ENCARGA DE GENERAR LA ESTRUCTURA DE LA GRILLA VISIBLE PARA PODER CONTENER LAS DISTINTAS TABLAS
        private void generarDT(List <DetallesColumnasTablas> lista)
        {
            grdGrillaEdit salidass = new grdGrillaEdit();

            salidass.AutoGenerateColumns = false;

            DataTable salida = new DataTable();

            foreach (DetallesColumnasTablas dct in lista)
            {
                switch (dct.DctTipoControl)
                {
                case "TEXTO":
                {
                    DataGridViewTextBoxColumn txt = new DataGridViewTextBoxColumn();
                    txt.Name = dct.DctDescripcion;
                    _vista.grilla.Columns.Add(txt);

                    break;
                }

                case "NUMERO":
                {
                    DataGridViewTextBoxColumn txt = new DataGridViewTextBoxColumn();
                    txt.Name = dct.DctDescripcion;
                    _vista.grilla.Columns.Add(txt);

                    break;
                }

                case "COMBO":
                {
                    #region LISTAS DEL COMBO
                    //   DataGridViewComboBoxCell cmb = new DataGridViewComboBoxCell();
                    DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn();

                    cmb.HeaderText = dct.DctDescripcion;
                    cmb.Name       = dct.DctColumna;

                    // CARGAR LA LISTA DE VALORES DEL COMBO
                    // EN CASO DE QUERER AGREGAR MAS PCIONES DE COMBO SOLO SE TIENE QUE HACER REFERENCIA
                    // A SUS CLASES BISSNES
                    switch (dct.DctListaValores)
                    {
                    case "AREAS":
                    {
                        AreasBus oAreaBusCombo = new AreasBus();
                        cmb.DataSource    = oAreaBusCombo.AreasGetAll();
                        cmb.DisplayMember = "AreDescripcion";
                        cmb.ValueMember   = "AreCodigo";
                        break;
                    }

                    case "SUBSISTEMAS":
                    {
                        SubsistemaBus oSubsistemaBus = new SubsistemaBus();
                        cmb.DataSource    = oSubsistemaBus.SubsistemaGetAll();
                        cmb.DisplayMember = "SbsNombre";
                        cmb.ValueMember   = "SbsCodigo";
                        break;
                    }

                    case "LOCALIDADES":
                    {
                        LocalidadesBus oLocalidadesBus = new LocalidadesBus();
                        cmb.DataSource    = oLocalidadesBus.LocalidadesGetAll();
                        cmb.DisplayMember = "LocDescripcion";
                        cmb.ValueMember   = "LocNumero";
                        break;
                    }

                    case "TIPOS_BARRIOS_LOCALIDADES":
                    {
                        TiposBarriosLocalidadesBus oLocalidadesBus = new TiposBarriosLocalidadesBus();
                        cmb.DataSource    = oLocalidadesBus.TiposBarriosLocalidadesGetAll();
                        cmb.DisplayMember = "TblDescripcion";
                        cmb.ValueMember   = "TblCodigo";
                        break;
                    }

                    case "TIPOS_COMPROBANTE":
                    {
                        TiposComprobanteBus oTiposComprobantes = new TiposComprobanteBus();

                        cmb.DataSource    = oTiposComprobantes.TiposComprobanteGetAll();
                        cmb.DisplayMember = "TcoDescripcion";
                        cmb.ValueMember   = "TcoCodigo";
                        break;
                    }

                    case "PUNTOS_VENTAS":
                    {
                        PuntosVentasBus oPV = new PuntosVentasBus();
                        cmb.DataSource    = oPV.PuntosVentasGetAll();
                        cmb.DisplayMember = "PvtDescripcion";
                        cmb.ValueMember   = "PvtNumero";
                        break;
                    }

                    //case "GRUPOS_CONCEPTOS_IMPUESTOS":
                    //    {
                    //        GruposConceptosImpuestosBus oGCI = new GruposConceptosImpuestosBus();
                    //        cmb.DataSource = oGCI.GruposConceptosImpuestosGetAll();
                    //        cmb.DisplayMember = "GciDescripcion";
                    //        cmb.ValueMember = "GciCodigo";
                    //        break;
                    //    }
                    case "TIPOS_GRUPOS_CONCEPTOS":
                    {
                        TiposGruposConceptosBus oTGC = new TiposGruposConceptosBus();
                        cmb.DataSource    = oTGC.TiposGruposConceptosGetAll();
                        cmb.DisplayMember = "TgcDescripcion";
                        cmb.ValueMember   = "TgcCodigo";
                        break;
                    }

                    default: break;
                    }
                    _vista.grilla.Columns.Add(cmb);
                    //        salidass.Columns.Add(cmb);
                    break;
                    #endregion
                }

                case "CHKCK":

                {
                    DataGridViewCheckBoxColumn chk = new DataGridViewCheckBoxColumn();
                    chk.HeaderText = dct.DctDescripcion;
                    chk.Name       = dct.DctColumna;

                    // COMO CADA TABLA VA A TENER SU PROPIO VAOR DE REFERENCIA SI SU ESTADO O OTRO VALOR QUE REQUIERA CHKCK
                    //  EN ESTA SECCION SE CONFIGURA PARA CADA TABLA QUE VALOR VALOR CORRESPONDE A VERDADERO
                    switch (Tabla)
                    {
                    case "PVC":
                    {
                        chk.TrueValue  = "H";
                        chk.FalseValue = "I";
                        break;
                    }

                    default:
                    {
                        chk.TrueValue  = "S";
                        chk.FalseValue = "N";
                        break;
                    }
                    }
                    _vista.grilla.Columns.Add(chk);
                    //     salidass.Columns.Add(chk);
                    break;
                }

                case "FECHA":
                {
                    ColumnaCalendario col = new ColumnaCalendario();
                    col.HeaderText = dct.DctDescripcion;

                    col.Name = dct.DctColumna;
                    _vista.grilla.Columns.Add(col);
                    //             salidass.Columns.Add(col);
                    break;
                }
                }
            }
            salida = (DataTable)salidass.DataSource;
        }
Пример #2
0
        public void Inicializar(string tabla, string campoClave, bool claveSecuencia)
        {
            _filtroCampos  = "";
            _filtroValores = "";
            _Campo         = "";
            _Checks        = "";
            _Combos        = "";
            _dtCombo       = new DataTable();
            _dtCombo.Columns.Add("DctColumna", typeof(string));
            _dtCombo.Columns.Add("DctDescripcion", typeof(string));
            DetallesColumnasTablasBus     oDetalleBus = new DetallesColumnasTablasBus();
            List <DetallesColumnasTablas> ListDetalle = oDetalleBus.DetallesColumnasTablasGetByCodigo(tabla);

            foreach (DetallesColumnasTablas oDetalle in ListDetalle)
            {
                if (oDetalle.DctTipoControl == "COMBO")
                {
                    _Combos += ' ' + oDetalle.DctColumna + ' ' + oDetalle.DctDescripcion + ',';
                }
                if (oDetalle.DctTipoControl == "CHECK")
                {
                    _Checks += ' ' + oDetalle.DctColumna + ' ' + oDetalle.DctDescripcion + ',';
                }
                //else
                _Campo = _Campo + ' ' + oDetalle.DctColumna + ' ' + oDetalle.DctDescripcion + ',';
                if ((oDetalle.DctFiltroBusqueda == "S") && (oDetalle.DctTipoControl != "FECHA") && oDetalle.DctTipoControl != "ESTADO")
                {
                    _dtCombo.Rows.Add(oDetalle.DctColumna, oDetalle.DctDescripcion);
                }

                if ((oDetalle.DctFiltroBusqueda == "S") && (oDetalle.DctTipoControl == "FECHA"))
                {
                    _vista.grupoFecha = true;
                    _vista.fechaDesde = DateTime.Now.Date.AddMonths(-1);
                    _vista.fechaHasta = DateTime.Now.Date;
                    _filtroCampos     = _filtroCampos + oDetalle.DctColumna + "&";
                    _Fecha            = oDetalle.DctColumna + "&";
                    _filtroValores    = _filtroValores + _vista.fechaDesde.ToString("dd/MM/yyyy") + "%" + _vista.fechaHasta.ToString("dd/MM/yyyy") + "&";
                }
                if ((oDetalle.DctFiltroBusqueda == "S") && (oDetalle.DctTipoControl == "ESTADO"))
                {
                    _vista.grupoEstado = true;
                    _filtroCampos      = _filtroCampos + oDetalle.DctColumna + "&";
                    _filtroValores     = _filtroValores + _vista.comboEstado.Text + "&";
                }
                if (campoClave == oDetalle.DctDescripcion)
                {
                    columnaClave = oDetalle.DctColumna;
                }
            }

            oUtil.CargarCombo(_vista.comboBuscar, _dtCombo, "DctColumna", "DctDescripcion");
            if (_Campo.Length > 0)
            {
                _Campo = _Campo.Substring(0, _Campo.Length - 1);
            }
            TablasBus oTablasBus = new TablasBus();
            DataTable dt         = oTablasBus.TablasBusquedaGetAllFilter(tabla, _Campo, _filtroCampos, _filtroValores);

            _vista.cantidad = oUtil.CargarGrilla(_vista.grilla, dt) + " registros";

            int indice = 0;

            foreach (DetallesColumnasTablas oDetalle in ListDetalle)
            {
                if (oDetalle.DctTipoControl == "COMBO")
                {
                    DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn();
                    cmb.HeaderText = oDetalle.DctDescripcion;
                    cmb.Name       = oDetalle.DctColumna;
                    // CARGAR LA LISTA DE VALORES DEL COMBO
                    switch (oDetalle.DctListaValores)
                    {
                    case "AREAS":
                    {
                        AreasBus oAreaBusCombo = new AreasBus();

                        cmb.DataSource    = oAreaBusCombo.AreasGetAll();
                        cmb.DisplayMember = "AreDescripcion";
                        cmb.ValueMember   = "AreCodigo";
                        break;
                    }

                    default: break;
                    }
                    _vista.grilla.Columns.Add(cmb);
                    foreach (DataGridViewRow row in _vista.grilla.Rows)
                    {
                        row.Cells[_vista.grilla.ColumnCount - 1].Value = row.Cells[indice].Value;
                    }
                    _vista.grilla.Columns[indice].Visible = false;
                }
                if (oDetalle.DctTipoControl == "CHECK")
                {
                    DataGridViewCheckBoxColumn chk = new DataGridViewCheckBoxColumn();
                    chk.HeaderText = oDetalle.DctDescripcion;
                    chk.Name       = oDetalle.DctColumna;
                    _vista.grilla.Columns.Add(chk);
                    foreach (DataGridViewRow row in _vista.grilla.Rows)
                    {
                        row.Cells[_vista.grilla.ColumnCount - 1].Value = Equals(row.Cells[indice].Value, "S");
                    }
                    _vista.grilla.Columns[indice].Visible = false;
                }
                indice++;
            }

            _vista.grilla.Columns.Add("Estado", "");
            _vista.grilla.Columns[campoClave].ReadOnly = true;
            _vista.grilla.Columns[_vista.grilla.ColumnCount - 1].Visible = false;
            foreach (DataGridViewRow row in _vista.grilla.Rows)
            {
                //  if (!row.IsNewRow)
                row.Cells[_vista.grilla.ColumnCount - 1].Value = "0";
            }
            // Obtengo nombre de la tabla
            Tablas otabla = new Tablas();

            otabla = oTablasBus.TablasGetById(tabla);
            // Obtengo la estructura de la tabla con la que cargue la grilla
            _estructuraTablaGrilla = oTablasBus.Estructura(otabla.TabNombre);
            // Si la clave es secuencia no permito editarla, caso contrario si
            // La clave se edita unicamente cuando se agrega un nuevo registro, esto se habilita en addnew
            // cuando doy confirmar cambios se debe validar cada uno de los campos teniendo en cuenta los tipos de datos de la tabla y el mapeo
        }