git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.DevExpressVCL@31 05c56307-c608-d34a-929d-697000501d7a
110 lines
2.6 KiB
ObjectPascal
110 lines
2.6 KiB
ObjectPascal
unit GridModeDemoData;
|
|
|
|
interface
|
|
|
|
uses
|
|
Forms,
|
|
SysUtils, Classes, DB, cxStyles, ImgList, Controls, cxClasses,
|
|
cxGridTableView, DBTables;
|
|
|
|
type
|
|
TGridModeDemoDataDM = class(TDataModule)
|
|
dsCars: TDataSource;
|
|
dsOrders: TDataSource;
|
|
dsCustomers: TDataSource;
|
|
StyleRepository: TcxStyleRepository;
|
|
PaymentTypeImages: TImageList;
|
|
GridTableViewStyleSheetDevExpress: TcxGridTableViewStyleSheet;
|
|
cxStyle1: TcxStyle;
|
|
cxStyle2: TcxStyle;
|
|
cxStyle3: TcxStyle;
|
|
cxStyle4: TcxStyle;
|
|
cxStyle5: TcxStyle;
|
|
cxStyle6: TcxStyle;
|
|
cxStyle7: TcxStyle;
|
|
cxStyle8: TcxStyle;
|
|
cxStyle9: TcxStyle;
|
|
cxStyle10: TcxStyle;
|
|
cxStyle11: TcxStyle;
|
|
cxStyle12: TcxStyle;
|
|
cxStyle13: TcxStyle;
|
|
cxStyle14: TcxStyle;
|
|
qryHelper: TQuery;
|
|
qryCars: TQuery;
|
|
qryCustomers: TQuery;
|
|
qryOrders: TQuery;
|
|
UpdateSQLCars: TUpdateSQL;
|
|
UpdateSQLOrders: TUpdateSQL;
|
|
Database: TDatabase;
|
|
procedure qryAfterDelete(DataSet: TDataSet);
|
|
procedure qryAfterPost(DataSet: TDataSet);
|
|
procedure qryBeforePost(DataSet: TDataSet);
|
|
procedure qryCarsBeforeScroll(DataSet: TDataSet);
|
|
procedure qryCarsAfterScroll(DataSet: TDataSet);
|
|
private
|
|
{ Private declarations }
|
|
FPrevDataSetState: TDataSetState;
|
|
public
|
|
{ Public declarations }
|
|
function GetTableNameByDataSet(ADataSet: TDataSet): string;
|
|
end;
|
|
|
|
var
|
|
GridModeDemoDataDM: TGridModeDemoDataDM;
|
|
|
|
implementation
|
|
|
|
uses
|
|
GridModeDemoMain;
|
|
|
|
{$R *.dfm}
|
|
|
|
procedure TGridModeDemoDataDM.qryAfterDelete(DataSet: TDataSet);
|
|
begin
|
|
TQuery(DataSet).ApplyUpdates;
|
|
end;
|
|
|
|
procedure TGridModeDemoDataDM.qryAfterPost(DataSet: TDataSet);
|
|
var
|
|
AKeyValue: Integer;
|
|
begin
|
|
AKeyValue := -1;
|
|
TQuery(DataSet).ApplyUpdates;
|
|
if FPrevDataSetState = dsInsert then
|
|
try
|
|
DataSet.Close;
|
|
qryHelper.SQL.Clear;
|
|
qryHelper.SQL.Add('select MAX(ID) from ' +
|
|
GetTableNameByDataSet(DataSet));
|
|
qryHelper.Open;
|
|
AKeyValue := qryHelper.Fields[0].AsInteger;
|
|
finally
|
|
qryHelper.Close;
|
|
DataSet.Open;
|
|
DataSet.Locate('ID',AKeyValue , []);
|
|
end;
|
|
end;
|
|
|
|
procedure TGridModeDemoDataDM.qryBeforePost(DataSet: TDataSet);
|
|
begin
|
|
FPrevDataSetState := DataSet.State;
|
|
end;
|
|
|
|
function TGridModeDemoDataDM.GetTableNameByDataSet(
|
|
ADataSet: TDataSet): string;
|
|
begin
|
|
Result := Copy(ADataSet.Name, 4, Length(ADataSet.Name)-3);
|
|
end;
|
|
|
|
procedure TGridModeDemoDataDM.qryCarsBeforeScroll(DataSet: TDataSet);
|
|
begin
|
|
Screen.Cursor := crHourGlass;
|
|
end;
|
|
|
|
procedure TGridModeDemoDataDM.qryCarsAfterScroll(DataSet: TDataSet);
|
|
begin
|
|
Screen.Cursor := crDefault;
|
|
end;
|
|
|
|
end.
|