+ new procedure in module dbutils - FillValueForField

+ editor for property TRxColumnFooter.FieldName


git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@354 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75 2008-02-19 15:55:07 +00:00
parent 2306ec28fd
commit 7ea09c8293
5 changed files with 65 additions and 13 deletions

View File

@ -88,6 +88,7 @@ procedure ConfirmDataSetCancel(DataSet: TDataSet);
procedure CheckRequiredField(Field: TField);
procedure CheckRequiredFields(const Fields: array of TField);
function ExtractFieldName(const Fields: string; var Pos: Integer): string;
procedure FillValueForField(const Field: TField; Value:Variant);
{ SQL expressions }
@ -565,7 +566,7 @@ var
FieldArray: PFieldArray;
begin
{ with DataSet do begin
FieldArray := AllocMemo(FieldCount * SizeOf(TFieldInfo));
FieldArray := AllocMem(FieldCount * SizeOf(TFieldInfo));
try
for I := 0 to FieldCount - 1 do begin
S := IniReadString(IniFile, CheckSection(DataSet, Section),
@ -823,18 +824,10 @@ end;
procedure CheckRequiredField(Field: TField);
begin
with Field do
if not ReadOnly and not Calculated and IsNull then begin
if not ReadOnly and not Calculated and IsNull then
begin
FocusControl;
DatabaseErrorFmt(SFieldRequired, [DisplayName]);
(*{$IFDEF WIN32}
{$IFNDEF RX_D3}
DBErrorFmt(SFieldRequired, [DisplayName]);
{$ELSE}
DatabaseErrorFmt(SFieldRequired, [DisplayName]);
{$ENDIF}
{$ELSE}
DBErrorFmt(SFieldRequired, [DisplayName^]);
{$ENDIF WIN32}*)
end;
end;
@ -887,4 +880,27 @@ begin
Pos := I;
end;
procedure FillValueForField(const Field: TField; Value: Variant);
var
DS:TDataSet;
P:TBookmarkStr;
begin
DS:=Field.DataSet;
DS.DisableControls;
P:=DS.Bookmark;
try
DS.First;
while not DS.EOF do
begin
DS.Edit;
Field.Value:=Value;
DS.Post;
DS.Next;
end;
finally
DS.Bookmark:=P;
DS.EnableControls;
end;
end;
end.

View File

@ -28,6 +28,9 @@
(see Demos/RxDBGrid)
- minor fix in filter combobox in RxDBGrid for GTK and GTK2
+ TRxSpeedButton and TRxClock
+ new procedure in module dbutils - FillValueForField
+ editor for property TRxColumnFooter.FieldName
29.08.2007 - ¢¥àá¨ï 1.1.5.98 (svn revision 39)
+ In RxDBgrid - after close dataset list of SelectedRows is cleared
+ fix resaizing find form for RxDbGrd

View File

@ -33,6 +33,8 @@
(см. Demos/RxDBGrid)
+ Доработки фильтрации в RxDBGrid для GTK и GTK2
+ Перенесены компоненты TRxSpeedButton и TRxClock
+ новая функция в модуле dbutils - FillValueForField
+ Реализован редактор для RxColumnFooter.FieldName
29.08.2007 - версия 1.1.5.98 (svn revision 39)
+ В RxDBGrid После закрытия набора данных список помеченных строк (SelectedRows)
очищается

View File

@ -14,7 +14,7 @@ uses
PropEdits, dbdateedit, rxlookup, folderlister, rxdbgrid, rxmemds, duallist,
curredit, rxswitch, rxdice, rxdbcomb, rxtoolbar, rxxpman, PageMngr, RxAppIcon,
Dialogs, ComponentEditors, seldsfrm, DBPropEdits, DB, rxctrls, RxLogin,
RxCustomChartPanel, AutoPanel, pickdate, rxconst, tooledit,
RxCustomChartPanel, AutoPanel, pickdate, rxconst, tooledit, rxclock,
rxceEditLookupFields;
type
@ -54,6 +54,28 @@ begin
DataSource.DataSet.GetFieldNames(Values);
end;
type
{ TRxDBGridFooterFieldProperty }
TRxDBGridFooterFieldProperty = class(TFieldProperty)
public
procedure FillValues(const Values: TStringList); override;
end;
{ TRxDBGridFieldProperty }
procedure TRxDBGridFooterFieldProperty.FillValues(const Values: TStringList);
var
Footer: TRxColumnFooter;
Grid: TRxDBGrid;
DataSource: TDataSource;
begin
Footer:=TRxColumnFooter(GetComponent(0));
Grid:=TRxDBGrid(Footer.Owner.Grid);
if not (Grid is TRxDBGrid) then exit;
DataSource := Grid.DataSource;
if Assigned(DataSource) and Assigned(DataSource.DataSet) then
DataSource.DataSet.GetFieldNames(Values);
end;
{ TRxAppIcon }
@ -195,7 +217,7 @@ end;
procedure RegisterRxCtrls;
begin
RegisterComponents('RX',[TRxLabel, TSecretPanel]);
RegisterComponents('RX',[TRxLabel, TSecretPanel, TRxSpeedButton]);
end;
procedure RegisterRxLogin;
@ -223,6 +245,11 @@ begin
RegisterComponents('RX',[TRxDateEdit]);
end;
procedure RegisterRxClock;
begin
RegisterComponents('RX',[TRxClock]);
end;
procedure Register;
begin
//RX
@ -241,6 +268,7 @@ begin
RegisterUnit('AutoPanel', @RegisterAutoPanel);
RegisterUnit('pickdate', @RegisterPickDate);
RegisterUnit('tooledit', @RegisterToolEdit);
RegisterUnit('rxclock', @RegisterRxClock);
//RX DBAware
RegisterUnit('dbdateedit', @RegisterUnitDBDateEdit);
@ -255,6 +283,8 @@ begin
RegisterComponentEditor(TRxMemoryData, TMemDataSetEditor);
//
RegisterPropertyEditor(TypeInfo(string), TRxColumn, 'FieldName', TRxDBGridFieldProperty);
RegisterPropertyEditor(TypeInfo(string), TRxColumnFooter, 'FieldName', TRxDBGridFooterFieldProperty);
RegisterCEEditLookupFields;
end;

View File

@ -99,6 +99,7 @@ type
procedure UpdateTestValue;
public
constructor Create(Owner:TRxColumn);
property Owner:TRxColumn read FOwner;
published
property Alignment: TAlignment read FAlignment write SetAlignment default taLeftJustify;
property Layout:TTextLayout read FLayout write SetLayout default tlCenter;