unit uViewParametrosColeccion; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, dxLayoutControl, StdCtrls, Mask, JvExMask, JvToolEdit, JvCombobox, cxControls, uViewParametrosControlGrid, TBXDkPanels, uBizParametros; type IViewParametrosColeccion = interface(IViewParametrosControlGrid) ['{5523284E-4445-4026-AFAC-B243C19F0DA7}'] function GetColeccionesSeleccionadas: TStringList; property ColeccionesSeleccionadas : TStringList read GetColeccionesSeleccionadas; end; TfrViewParametrosColeccion = class(TfrViewParametrosControlGrid, IViewParametrosColeccion) dxLayoutControl1Group_Root: TdxLayoutGroup; dxLayoutControl1: TdxLayoutControl; ccbColeccion: TJvCheckedComboBox; dxLayoutControl1Item1: TdxLayoutItem; private FColecciones : IBizColecciones; procedure RellenarListaColecciones; function GetColeccionesSeleccionadas: TStringList; public procedure Execute; override; procedure Refresh; override; property ColeccionesSeleccionadas : TStringList read GetColeccionesSeleccionadas; end; implementation uses uDataModuleParametros, uDADataTable; {$R *.dfm} { TfrViewParametrosColeccion } procedure TfrViewParametrosColeccion.Execute; begin // inherited; <- no descomentar end; function TfrViewParametrosColeccion.GetColeccionesSeleccionadas: TStringList; var i : integer; begin Result := TStringList.Create; FColecciones.DataTable.First; for i := 0 to ccbColeccion.Items.Count - 1 do begin if ccbColeccion.Checked[i] then Result.Add(FColecciones.COLECAO); FColecciones.DataTable.Next; end; end; procedure TfrViewParametrosColeccion.Refresh; begin // inherited; <- no descomentar RellenarListaColecciones; end; procedure TfrViewParametrosColeccion.RellenarListaColecciones; var i : Integer; begin FColecciones := dmParametros.GetColecciones; ccbColeccion.Items.BeginUpdate; ShowHourglassCursor; try ccbColeccion.Items.Clear; FColecciones.DataTable.Active := True; for i := 0 to FColecciones.DataTable.RecordCount - 1 do begin ccbColeccion.Items.Add(FColecciones.DESC_COLECAO); FColecciones.DataTable.Next; end; finally ccbColeccion.Items.EndUpdate; HideHourglassCursor; end; end; end.