ProGestion/Base/uViewContenido.pas
2007-06-21 16:12:43 +00:00

127 lines
3.6 KiB
ObjectPascal
Raw Blame History

unit uViewContenido;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, cxStyles, ComCtrls, ToolWin, ActnList, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
uDADataTable, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ImgList,
PngImageList, cxGrid;
type
IViewContenido = interface(IViewBase)
['{AF7F3CD1-3CD1-4F87-A4B4-FCB1320104F7}']
end;
TfrViewContenido = class(TfrViewBase, IViewContenido)
ActionListContenido: TActionList;
cxGrid: TcxGrid;
cxGridView: TcxGridDBTableView;
cxGridLevel: TcxGridLevel;
DADataSource: TDADataSource;
actAnadir: TAction;
actEliminar: TAction;
actSubir: TAction;
actBajar: TAction;
ContenidoImageList: TPngImageList;
ToolBar1: TToolBar;
cxStyleRepository: TcxStyleRepository;
cxStyleEven: TcxStyle;
cxStyleOdd: TcxStyle;
cxStyleSelection: TcxStyle;
procedure actAnadirExecute(Sender: TObject);
procedure actEliminarExecute(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
procedure actSubirUpdate(Sender: TObject);
procedure actBajarExecute(Sender: TObject);
procedure actBajarUpdate(Sender: TObject);
procedure actSubirExecute(Sender: TObject);
private
protected
public
end;
implementation
uses uBizImportesDetalleBase, uDAInterfaces;
{$R *.dfm}
procedure TfrViewContenido.actAnadirExecute(Sender: TObject);
begin
inherited;
if Assigned(DADataSource.DataTable) then
DADataSource.DataTable.Insert
end;
procedure TfrViewContenido.actEliminarExecute(Sender: TObject);
begin
inherited;
if Assigned(DADataSource.DataTable) then
DADataSource.DataTable.Delete;
end;
procedure TfrViewContenido.actEliminarUpdate(Sender: TObject);
begin
if Assigned(DADataSource.DataTable) then
(Sender as TAction).Enabled := (not DADataSource.DataTable.IsEmpty)
else
(Sender as TAction).Enabled := False;
end;
procedure TfrViewContenido.actSubirUpdate(Sender: TObject);
begin
inherited;
if Assigned(cxGridView.Controller.FocusedRow) then
(Sender as TAction).Enabled := not (cxGridView.Controller.FocusedRow.IsFirst)
else
(Sender as TAction).Enabled := False;
end;
procedure TfrViewContenido.actBajarExecute(Sender: TObject);
var
AField : TDAField;
begin
inherited;
if Assigned(DADataSource.DataTable) then
begin
AField := DADataSource.DataTable.FindField(fld_POSICION);
// Por si el registro est<73> reci<63>n insertado y la posici<63>n todav<61>a
// no ha sido asignada.
if (AField.AsInteger < 0) then
DADataSource.DataTable.Post;
IntercambiarPosiciones(DADataSource.DataTable, AField.AsInteger, AField.AsInteger + 1);
end;
end;
procedure TfrViewContenido.actBajarUpdate(Sender: TObject);
begin
inherited;
if Assigned(cxGridView.Controller.FocusedRow) then
(Sender as TAction).Enabled := not (cxGridView.Controller.FocusedRow.IsLast)
else
(Sender as TAction).Enabled := False;
end;
procedure TfrViewContenido.actSubirExecute(Sender: TObject);
var
AField : TDAField;
begin
inherited;
if Assigned(DADataSource.DataTable) then
begin
AField := DADataSource.DataTable.FindField(fld_POSICION);
// Por si el registro est<73> reci<63>n insertado y la posici<63>n todav<61>a
// no ha sido asignada.
if (AField.AsInteger < 0) then
DADataSource.DataTable.Post;
IntercambiarPosiciones(DADataSource.DataTable, AField.AsInteger, AField.AsInteger - 1);
end;
end;
end.