Componentes.Terceros.DevExp.../internal/x.36/1/ExpressQuantumGrid 6/Demos/Delphi/GridModeDemo/GridModeDemoData.pas
2008-09-04 11:31:51 +00:00

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.