+ Fixes from joost van der sluis: tfieldsdefs.tdatafield and size, cancel of only record and dataset.fieldvalyes

This commit is contained in:
michael 2004-08-23 07:30:19 +00:00
parent df2d2a847c
commit 7ddaad98cc
2 changed files with 41 additions and 7 deletions

View File

@ -342,6 +342,7 @@ end;
Procedure TDataset.DoInternalClose; Procedure TDataset.DoInternalClose;
begin begin
CheckBrowsemode;
FreeFieldBuffers; FreeFieldBuffers;
ClearBuffers; ClearBuffers;
SetBufListSize(-1); SetBufListSize(-1);
@ -934,8 +935,19 @@ begin
UpdateCursorPos; UpdateCursorPos;
InternalCancel; InternalCancel;
FreeFieldBuffers; FreeFieldBuffers;
SetState(dsBrowse); if (state = dsInsert) and (FRecordcount = 1) then
Resync([]); begin
FEOF := true;
FBOF := true;
FRecordcount := 0;
SetState(dsBrowse);
DataEvent(deDatasetChange,0);
end
else
begin
SetState(dsBrowse);
resync([]);
end;
DoAfterCancel; DoAfterCancel;
end; end;
end; end;
@ -1679,6 +1691,19 @@ begin
FBuffers[0]:=TempBuf; FBuffers[0]:=TempBuf;
end; end;
function TDataset.GetFieldValues(Fieldname : string) : string;
begin
result := findfield(Fieldname).asstring;
end;
procedure TDataset.SetFieldValues(Fieldname : string;value : string);
begin
findfield(Fieldname).asstring := value;
end;
Procedure TDataset.UnRegisterDataSource(ADatasource : TDatasource); Procedure TDataset.UnRegisterDataSource(ADatasource : TDatasource);
begin begin
@ -1688,7 +1713,10 @@ end;
{ {
$Log$ $Log$
Revision 1.20 2004-08-21 21:10:00 michael Revision 1.21 2004-08-23 07:30:19 michael
+ Fixes from joost van der sluis: tfieldsdefs.tdatafield and size, cancel of only record and dataset.fieldvalyes
Revision 1.20 2004/08/21 21:10:00 michael
* Patch from Joost van der Sluis * Patch from Joost van der Sluis
- Empty recordsets don't show any bogus data anymore - Empty recordsets don't show any bogus data anymore
- Floatfiels.gettext fix - Floatfiels.gettext fix

View File

@ -127,9 +127,9 @@ type
Published Published
property Attributes: TFieldAttributes read FAttributes write FAttributes default []; property Attributes: TFieldAttributes read FAttributes write FAttributes default [];
property Name: string read FName write FName; // Must move to TNamedItem property Name: string read FName write FName; // Must move to TNamedItem
property DataType: TFieldType read FDataType; property DataType: TFieldType read FDataType write FDataType;
property Precision: Longint read FPrecision write FPrecision; property Precision: Longint read FPrecision write FPrecision;
property Size: Word read FSize; property Size: Word read FSize write FSize;
end; end;
{ TFieldDefs } { TFieldDefs }
@ -883,6 +883,7 @@ type
procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override; procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
function GetFieldClass(FieldType: TFieldType): TFieldClass; virtual; function GetFieldClass(FieldType: TFieldType): TFieldClass; virtual;
Function GetfieldCount : Integer; Function GetfieldCount : Integer;
function GetFieldValues(fieldname : string) : string; virtual;
function GetIsIndexField(Field: TField): Boolean; virtual; function GetIsIndexField(Field: TField): Boolean; virtual;
function GetNextRecords: Longint; virtual; function GetNextRecords: Longint; virtual;
function GetNextRecord: Boolean; virtual; function GetNextRecord: Boolean; virtual;
@ -907,6 +908,7 @@ type
procedure SetFilterOptions(Value: TFilterOptions); virtual; procedure SetFilterOptions(Value: TFilterOptions); virtual;
procedure SetFilterText(const Value: string); virtual; procedure SetFilterText(const Value: string); virtual;
procedure SetFound(const Value: Boolean); procedure SetFound(const Value: Boolean);
procedure SetFieldValues(fieldname : string;value : string); virtual;
procedure SetModified(Value: Boolean); procedure SetModified(Value: Boolean);
procedure SetName(const Value: TComponentName); override; procedure SetName(const Value: TComponentName); override;
procedure SetOnFilterRecord(const Value: TFilterRecordEvent); virtual; procedure SetOnFilterRecord(const Value: TFilterRecordEvent); virtual;
@ -1014,7 +1016,8 @@ type
property RecNo: Longint read FRecNo write FRecNo; property RecNo: Longint read FRecNo write FRecNo;
property RecordSize: Word read FRecordSize; property RecordSize: Word read FRecordSize;
property State: TDataSetState read FState; property State: TDataSetState read FState;
property Fields : TFields Read FFieldList; property Fields : TFields read FFieldList;
property FieldValues[fieldname : string] : string read GetFieldValues write SetFieldValues; default;
property Filter: string read FFilterText write SetFilterText; property Filter: string read FFilterText write SetFilterText;
property Filtered: Boolean read FFiltered write SetFiltered default False; property Filtered: Boolean read FFiltered write SetFiltered default False;
property FilterOptions: TFilterOptions read FFilterOptions write FFilterOptions; property FilterOptions: TFilterOptions read FFilterOptions write FFilterOptions;
@ -1500,7 +1503,10 @@ end.
{ {
$Log$ $Log$
Revision 1.21 2004-08-14 12:46:35 michael Revision 1.22 2004-08-23 07:30:19 michael
+ Fixes from joost van der sluis: tfieldsdefs.tdatafield and size, cancel of only record and dataset.fieldvalyes
Revision 1.21 2004/08/14 12:46:35 michael
+ Patch from Joost van der Sluis to implement Modified and UpdateRecord event + Patch from Joost van der Sluis to implement Modified and UpdateRecord event
Revision 1.20 2004/08/13 07:06:02 michael Revision 1.20 2004/08/13 07:06:02 michael