unit uViewParametrosCentro; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, dxLayoutControl, StdCtrls, Mask, JvExMask, JvToolEdit, JvCombobox, cxControls, uViewParametrosControlGrid, TBXDkPanels, uBizParametros; type IViewParametrosCentro = interface(IViewParametrosControlGrid) ['{AE4FC794-6D44-40A0-A138-09286870CBB0}'] function GetCentrosSeleccionados: TStringList; property CentrosSeleccionados : TStringList read GetCentrosSeleccionados; function GetCodigoCentrosSeleccionados: TStringList; property CodigoCentrosSeleccionados : TStringList read GetCodigoCentrosSeleccionados; end; TfrViewParametrosCentro = class(TfrViewParametrosControlGrid, IViewParametrosCentro) dxLayoutControl1Group_Root: TdxLayoutGroup; dxLayoutControl1: TdxLayoutControl; dxLayoutControl1Item1: TdxLayoutItem; ccbCentro: TJvCheckedComboBox; private FCentros : IBizCentros; procedure RellenarListaCentros; function GetCentrosSeleccionados: TStringList; function GetCodigoCentrosSeleccionados: TStringList; public procedure Execute; override; procedure Refresh; override; property CentrosSeleccionados : TStringList read GetCentrosSeleccionados; property CodigoCentrosSeleccionados : TStringList read GetCodigoCentrosSeleccionados; procedure LimpiarSeleccion; end; implementation uses uDataModuleParametros, uDADataTable; {$R *.dfm} { TfrViewParametrosCentro } procedure TfrViewParametrosCentro.Execute; begin // inherited; <- no descomentar end; function TfrViewParametrosCentro.GetCentrosSeleccionados: TStringList; var i : integer; begin Result := TStringList.Create; FCentros.DataTable.First; for i := 0 to ccbCentro.Items.Count - 1 do begin if ccbCentro.Checked[i] then Result.Add(FCentros.FILIAL); FCentros.DataTable.Next; end; end; function TfrViewParametrosCentro.GetCodigoCentrosSeleccionados: TStringList; var i : integer; begin Result := TStringList.Create; FCentros.DataTable.First; for i := 0 to ccbCentro.Items.Count - 1 do begin if ccbCentro.Checked[i] then Result.Add(FCentros.CODBARRA); FCentros.DataTable.Next; end; end; procedure TfrViewParametrosCentro.LimpiarSeleccion; var i : integer; begin for i := 0 to ccbCentro.Items.Count - 1 do ccbCentro.Checked[i] := False; end; procedure TfrViewParametrosCentro.Refresh; begin // inherited; <- no descomentar RellenarListaCentros; end; procedure TfrViewParametrosCentro.RellenarListaCentros; var i : Integer; begin FCentros := dmParametros.GetCentros; ccbCentro.Items.BeginUpdate; ShowHourglassCursor; try ccbCentro.Items.Clear; FCentros.DataTable.Active := True; for i := 0 to FCentros.DataTable.RecordCount - 1 do begin ccbCentro.Items.Add(FCentros.FILIAL); FCentros.DataTable.Next; end; finally ccbCentro.Items.EndUpdate; HideHourglassCursor; end; end; end.