git-svn-id: https://192.168.0.254/svn/Proyectos.EstudioCarnicero_ProGestion/trunk@4 1b8572a8-2d6b-b84e-8c90-20ed86fa4eca
127 lines
3.6 KiB
ObjectPascal
127 lines
3.6 KiB
ObjectPascal
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.
|