{ =============================================================================== Copyright (©) 2003. Rodax Software. =============================================================================== Los contenidos de este fichero son propiedad de Rodax Software titular del copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado, en su totalidad o en parte, con el permiso escrito de Rodax Software, o de acuerdo con los términos y condiciones establecidas en el acuerdo/contrato bajo el que se suministra. ----------------------------------------------------------------------------- Web: www.rodax-software.com =============================================================================== Fecha primera versión: 10-05-2003 Versión actual: 1.0.0 Fecha versión actual: 10-05-2003 =============================================================================== Modificaciones: Fecha Comentarios --------------------------------------------------------------------------- =============================================================================== } unit Articulos; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxEdit, DB, cxDBData, ActnList, Menus, am2000menuitem, am2000popupmenu, am2000, StdCtrls, AdvPanel, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, ExtCtrls, RdxBotones, RdxBarras, RdxPaneles, RdxFrame, ArticulosModelo, cxContainer, cxTextEdit, cxMaskEdit, cxDropDownEdit, Configuracion, am2000utils, cxDataStorage; type TfrArticulos = class(TfrArticulosModelo) pnlExtra: TRdxBarraSuperior; eFamilia: TLabel; cbxFamilia: TcxComboBox; Panel1: TPanel; eNombre: TLabel; Buscar: TcxTextEdit; bLimpiar: TRdxBoton; //Habra que llamar a ArticuloModelo en lugar de artículo procedure actAnadirExecute(Sender: TObject); override; procedure actModificarExecute(Sender: TObject); override; procedure actEliminarExecute(Sender: TObject); override; procedure actConsultarExecute(Sender: TObject); override; procedure cbxFamiliaPropertiesEditValueChanged(Sender: TObject); procedure bLimpiarClick(Sender: TObject); procedure BuscarPropertiesChange(Sender: TObject); private FFamilia: String; procedure SetFamilia(const Value: String); protected procedure InicializarTablas; override; public //Solo cambiariamos las sql a las que referencia la tabla constructor Create (AOwner : TComponent); override; property Familia : String read FFamilia write SetFamilia; end; var frArticulos: TfrArticulos; implementation {$R *.dfm} uses TablaArticulos, Articulo, Entidades, BaseDatos, IBCustomDataSet, TablaFamilias; { TfrArticulosModelo } procedure TfrArticulos.actAnadirExecute(Sender: TObject); begin Contenido := TfrArticulo.Create(Self); Contenido.Modo := Anadir; end; procedure TfrArticulos.actConsultarExecute(Sender: TObject); begin Contenido := TfrArticulo.Create(Self); Contenido.Modo := Consultar; end; procedure TfrArticulos.actEliminarExecute(Sender: TObject); begin Contenido := TfrArticulo.Create(Self); Contenido.Modo := Eliminar; end; procedure TfrArticulos.actModificarExecute(Sender: TObject); begin Contenido := TfrArticulo.Create(Self); Contenido.Modo := Modificar; end; constructor TfrArticulos.Create(AOwner: TComponent); begin inherited Create(AOwner); cbxFamilia.Properties.Items.Add('Todas'); cbxFamilia.Properties.Items.AddStrings(dmTablaFamilias.DarFamilias); cbxFamilia.ItemIndex := 0; end; procedure TfrArticulos.InicializarTablas; begin Entidad := entArticulo; with TablaArticulos do begin DisableControls; Database := BaseDatos; Transaction := Transaccion; SelectSQL.Assign(dmTablaArticulos.sqlGrid); Prepare; Open; ActualizarBotones; EnableControls; end; end; procedure TfrArticulos.SetFamilia(const Value: String); var FamiliaAux : String; Columna : TcxGridDBColumn; begin FamiliaAux := Value; with gridArticulos.ActiveView.DataController.Filter do begin BeginUpdate; try Columna := (gridArticulos.ActiveView as TcxGridDBTableView).GetColumnByFieldName('FAMILIA'); if UpperCase(FamiliaAux) = 'TODAS' then begin Columna.Visible := True; Clear; end else begin Columna.Visible := False; Root.Clear; Root.AddItem(Columna, foEqual, FamiliaAux, 'Familia'); Active := True; end; cbxFamilia.Text := Value; finally EndUpdate; gridArticulos.ActiveView.DataController.GotoFirst; end; end; end; procedure TfrArticulos.cbxFamiliaPropertiesEditValueChanged( Sender: TObject); begin Familia := cbxFamilia.Text; end; procedure TfrArticulos.bLimpiarClick(Sender: TObject); begin Buscar.Text := ''; end; procedure TfrArticulos.BuscarPropertiesChange(Sender: TObject); begin FiltrarGrid(gridArticulos, Buscar.Text); end; end.