From: <ah...@us...> - 2009-10-30 15:12:04
|
Revision: 12588 http://jvcl.svn.sourceforge.net/jvcl/?rev=12588&view=rev Author: ahuser Date: 2009-10-30 15:11:55 +0000 (Fri, 30 Oct 2009) Log Message: ----------- Fixed: When OnChanged is called, the Field doesn't contain the new value if UpdateFieldImmediatelly = True Modified Paths: -------------- trunk/jvcl/run/JvDBCombobox.pas Modified: trunk/jvcl/run/JvDBCombobox.pas =================================================================== --- trunk/jvcl/run/JvDBCombobox.pas 2009-10-29 21:58:32 UTC (rev 12587) +++ trunk/jvcl/run/JvDBCombobox.pas 2009-10-30 15:11:55 UTC (rev 12588) @@ -147,7 +147,6 @@ procedure ComboWndProc(var Msg: TMessage; ComboWnd: HWND; ComboProc: Pointer); override; procedure CreateWnd; override; - procedure DropDown; override; function GetPaintText: string; virtual; procedure KeyDown(var Key: Word; Shift: TShiftState); override; procedure KeyPress(var Key: Char); override; @@ -409,24 +408,21 @@ procedure TJvCustomDBComboBox.Change; begin FDataLink.Edit; - inherited Change; - FDataLink.Modified; if UpdateFieldImmediatelly then FDataLink.UpdateRecord; + inherited Change; + FDataLink.Modified; end; procedure TJvCustomDBComboBox.Click; begin FDataLink.Edit; + if UpdateFieldImmediatelly then + FDataLink.UpdateRecord; inherited Click; FDataLink.Modified; end; -procedure TJvCustomDBComboBox.DropDown; -begin - inherited DropDown; -end; - function TJvCustomDBComboBox.GetDataSource: TDataSource; begin Result := FDataLink.DataSource; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2010-02-11 08:41:52
|
Revision: 12695 http://jvcl.svn.sourceforge.net/jvcl/?rev=12695&view=rev Author: ahuser Date: 2010-02-11 08:41:46 +0000 (Thu, 11 Feb 2010) Log Message: ----------- Bugfix: Content of the JvDBComboBox disappears if the ComboBoxSettings.Filter property was changed even if the selected item is still in the list. Modified Paths: -------------- trunk/jvcl/run/JvDBCombobox.pas Modified: trunk/jvcl/run/JvDBCombobox.pas =================================================================== --- trunk/jvcl/run/JvDBCombobox.pas 2010-02-08 23:11:12 UTC (rev 12694) +++ trunk/jvcl/run/JvDBCombobox.pas 2010-02-11 08:41:46 UTC (rev 12695) @@ -65,7 +65,7 @@ FOutfilteredValueFont: TFont; FComboBox: TJvCustomDBComboBox; procedure SetDataSource(const Value: TDataSource); - procedure SetFilter(const Value: string); + procedure SetFilter(Value: string); function GetDataSource: TDataSource; procedure SetDisplayField(const Value: string); procedure SetKeyField(const Value: string); @@ -787,6 +787,7 @@ FilterExpr: TJvDBFilterExpression; LKeyField, LDisplayField: TField; DataSet: TDataSet; + LastText: string; begin if ([csDesigning, csLoading, csDestroying] * ComponentState = []) and (ListSettings.DataSource <> nil) and (ListSettings.DataSource.DataSet <> nil) and @@ -796,6 +797,7 @@ Items.BeginUpdate; Values.BeginUpdate; try + LastText := GetComboText(); Items.Clear; Values.Clear; if ListSettings.IsValid and ListSettings.DataSource.DataSet.Active and (ListSettings.KeyField <> '') then @@ -846,6 +848,7 @@ Items.EndUpdate; Values.EndUpdate; end; + SetComboText(LastText); end; end; @@ -947,13 +950,15 @@ end; end; -procedure TJvDBComboBoxListSettings.SetFilter(const Value: string); +procedure TJvDBComboBoxListSettings.SetFilter(Value: string); begin + Value := Trim(Value); if Value <> FFilter then begin - FFilter := Trim(Value); + FFilter := Value; ComboBox.UpdateDropDownItems; - ComboBox.DataChange(Self); + if ComboBox.UpdateFieldImmediatelly then + ComboBox.DataChange(Self); end; end; @@ -1003,7 +1008,8 @@ if FListDataLink.Active and (DataSource.State = dsBrowse) then begin ComboBox.UpdateDropDownItems; - ComboBox.DataChange(Self); + if ComboBox.UpdateFieldImmediatelly then + ComboBox.DataChange(Self); end; end; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2010-06-07 15:41:52
|
Revision: 12796 http://jvcl.svn.sourceforge.net/jvcl/?rev=12796&view=rev Author: ahuser Date: 2010-06-07 15:41:44 +0000 (Mon, 07 Jun 2010) Log Message: ----------- TComboBox doesn't support AutoSize and TJvCustomComboBox/TJvDBCustomComboBox do not implement anything new here. The AutoSize property was (accidentally) added in SVN revision 10699. Revision Links: -------------- http://jvcl.svn.sourceforge.net/jvcl/?rev=10699&view=rev Modified Paths: -------------- trunk/jvcl/run/JvDBCombobox.pas Modified: trunk/jvcl/run/JvDBCombobox.pas =================================================================== --- trunk/jvcl/run/JvDBCombobox.pas 2010-06-07 15:16:51 UTC (rev 12795) +++ trunk/jvcl/run/JvDBCombobox.pas 2010-06-07 15:41:44 UTC (rev 12796) @@ -181,9 +181,14 @@ end; TJvDBComboBox = class(TJvCustomDBComboBox) + private + { The "AutoSize" property was published what it never should have been. TComboBox doesn't + support it and TJvCustomComboBox/TJvDBCustomComboBox do not support it either. } + procedure ReadIgnoredBoolean(Reader: TReader); + protected + procedure DefineProperties(Filer: TFiler); override; published property Align; - property AutoSize; property Style default csDropDownList; { must be published before Items } property BeepOnError; property BevelEdges; @@ -1013,6 +1018,19 @@ end; end; +{ TJvDBComboBox } + +procedure TJvDBComboBox.ReadIgnoredBoolean(Reader: TReader); +begin + Reader.ReadBoolean; +end; + +procedure TJvDBComboBox.DefineProperties(Filer: TFiler); +begin + inherited DefineProperties(Filer); + Filer.DefineProperty('AutoSize', ReadIgnoredBoolean, nil, False); +end; + {$IFDEF UNITVERSIONING} initialization RegisterUnitVersion(HInstance, UnitVersioning); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ob...@us...> - 2010-10-08 12:05:57
|
Revision: 12850 http://jvcl.svn.sourceforge.net/jvcl/?rev=12850&view=rev Author: obones Date: 2010-10-08 12:05:51 +0000 (Fri, 08 Oct 2010) Log Message: ----------- Mantis 5307: OnCloseUp is now published Modified Paths: -------------- trunk/jvcl/run/JvDBCombobox.pas Modified: trunk/jvcl/run/JvDBCombobox.pas =================================================================== --- trunk/jvcl/run/JvDBCombobox.pas 2010-10-05 12:39:06 UTC (rev 12849) +++ trunk/jvcl/run/JvDBCombobox.pas 2010-10-08 12:05:51 UTC (rev 12850) @@ -229,6 +229,7 @@ property ListSettings; { should be published after Items and Values } property OnChange; property OnClick; + property OnCloseUp; property OnDblClick; property OnDragDrop; property OnDragOver; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2011-06-10 23:43:44
|
Revision: 13057 http://jvcl.svn.sourceforge.net/jvcl/?rev=13057&view=rev Author: ahuser Date: 2011-06-10 23:43:37 +0000 (Fri, 10 Jun 2011) Log Message: ----------- Mantis #5487: JvDBCombobox and UpdateFieldImmediatelly Modified Paths: -------------- trunk/jvcl/run/JvDBCombobox.pas Modified: trunk/jvcl/run/JvDBCombobox.pas =================================================================== --- trunk/jvcl/run/JvDBCombobox.pas 2011-06-10 22:57:50 UTC (rev 13056) +++ trunk/jvcl/run/JvDBCombobox.pas 2011-06-10 23:43:37 UTC (rev 13057) @@ -495,7 +495,7 @@ Esc: begin FDataLink.Reset; - if UpdateFieldImmediatelly and (FDataLink.Field <> nil) then + if UpdateFieldImmediatelly and (FDataLink.Field <> nil) and FDataLink.Editing then FDataLink.Field.Value := FDataLink.Field.OldValue; SelectAll; end; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2012-11-08 11:57:25
|
Revision: 13469 http://jvcl.svn.sourceforge.net/jvcl/?rev=13469&view=rev Author: ahuser Date: 2012-11-08 11:57:18 +0000 (Thu, 08 Nov 2012) Log Message: ----------- Items/Values wasn't updated if the dataset was opened after the DFM was loaded Modified Paths: -------------- trunk/jvcl/run/JvDBCombobox.pas Modified: trunk/jvcl/run/JvDBCombobox.pas =================================================================== --- trunk/jvcl/run/JvDBCombobox.pas 2012-11-05 09:33:31 UTC (rev 13468) +++ trunk/jvcl/run/JvDBCombobox.pas 2012-11-08 11:57:18 UTC (rev 13469) @@ -857,7 +857,8 @@ Items.EndUpdate; Values.EndUpdate; end; - SetComboText(LastText); + if ItemIndex = -1 then + SetComboText(LastText); end; end; @@ -869,6 +870,7 @@ if Assigned(FOnReload) then begin case Event of + deUpdateState, deFieldListChange, deDataSetChange: FOnReload(Self); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2012-11-08 15:26:14
|
Revision: 13470 http://jvcl.svn.sourceforge.net/jvcl/?rev=13470&view=rev Author: ahuser Date: 2012-11-08 15:26:02 +0000 (Thu, 08 Nov 2012) Log Message: ----------- Fixed infinite paint loop due to DataSet.Lookup in WMPaint Modified Paths: -------------- trunk/jvcl/run/JvDBCombobox.pas Modified: trunk/jvcl/run/JvDBCombobox.pas =================================================================== --- trunk/jvcl/run/JvDBCombobox.pas 2012-11-08 11:57:18 UTC (rev 13469) +++ trunk/jvcl/run/JvDBCombobox.pas 2012-11-08 15:26:02 UTC (rev 13470) @@ -50,6 +50,7 @@ FOnReload: TNotifyEvent; protected procedure DataEvent(Event: TDataEvent; Info: {$IFDEF RTL230_UP}NativeInt{$ELSE}Integer{$ENDIF}); override; + procedure ActiveChanged; override; public property OnReload: TNotifyEvent read FOnReload write FOnReload; end; @@ -649,6 +650,7 @@ PaintStruct: TPaintStruct; DC: HDC; OldFont: HFONT; + Index: Integer; begin { If the field value is not part of the DataSource } if (Style in [csDropDownList, csOwnerDrawFixed, csOwnerDrawVariable]) and @@ -657,7 +659,12 @@ ListSettings.IsValid then begin if ListSettings.DisplayField <> '' then - S := VarToStr(ListSettings.DataSource.DataSet.Lookup(ListSettings.KeyField, FDataLink.Field.AsVariant, ListSettings.DisplayField)) + begin + //S := VarToStr(ListSettings.DataSource.DataSet.Lookup(ListSettings.KeyField, FDataLink.Field.AsVariant, ListSettings.DisplayField)) + Index := Values.IndexOf(FDataLink.Field.AsString); + if (Index <> -1) and (Index < Items.Count) then + S := Items[Index]; + end else S := FDataLink.Field.Text; @@ -864,13 +871,19 @@ { TJvDBComboBoxListDataLink } -procedure TJvDBComboBoxListDataLink.DataEvent(Event: TDataEvent; Info: {$IFDEF RTL230_UP}NativeInt{$ELSE}Integer{$ENDIF}); +procedure TJvDBComboBoxListDataLink.ActiveChanged; begin + inherited ActiveChanged; + if Assigned(FOnReload) then + FOnReload(Self); +end; + +procedure TJvDBComboBoxListDataLink.DataEvent(Event: TDataEvent; Info: Integer); +begin inherited DataEvent(Event, Info); if Assigned(FOnReload) then begin case Event of - deUpdateState, deFieldListChange, deDataSetChange: FOnReload(Self); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jfu...@us...> - 2012-11-12 22:51:33
|
Revision: 13471 http://jvcl.svn.sourceforge.net/jvcl/?rev=13471&view=rev Author: jfudickar Date: 2012-11-12 22:51:26 +0000 (Mon, 12 Nov 2012) Log Message: ----------- Delphi XE3 Compatibility Modified Paths: -------------- trunk/jvcl/run/JvDBCombobox.pas Property Changed: ---------------- trunk/jvcl/run/JvDBCombobox.pas Modified: trunk/jvcl/run/JvDBCombobox.pas =================================================================== --- trunk/jvcl/run/JvDBCombobox.pas 2012-11-08 15:26:02 UTC (rev 13470) +++ trunk/jvcl/run/JvDBCombobox.pas 2012-11-12 22:51:26 UTC (rev 13471) @@ -878,7 +878,7 @@ FOnReload(Self); end; -procedure TJvDBComboBoxListDataLink.DataEvent(Event: TDataEvent; Info: Integer); +procedure TJvDBComboBoxListDataLink.DataEvent(Event: TDataEvent; Info: {$IFDEF RTL230_UP}NativeInt{$ELSE}Integer{$ENDIF}); begin inherited DataEvent(Event, Info); if Assigned(FOnReload) then Property changes on: trunk/jvcl/run/JvDBCombobox.pas ___________________________________________________________________ Modified: svn:keywords - URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id + Author Date Id Revision URL Header This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2012-11-19 09:03:36
|
Revision: 13479 http://jvcl.svn.sourceforge.net/jvcl/?rev=13479&view=rev Author: ahuser Date: 2012-11-19 09:03:25 +0000 (Mon, 19 Nov 2012) Log Message: ----------- Fixed regression where "out-filtered" items weren't painted anymore Modified Paths: -------------- trunk/jvcl/run/JvDBCombobox.pas Modified: trunk/jvcl/run/JvDBCombobox.pas =================================================================== --- trunk/jvcl/run/JvDBCombobox.pas 2012-11-13 00:06:59 UTC (rev 13478) +++ trunk/jvcl/run/JvDBCombobox.pas 2012-11-19 09:03:25 UTC (rev 13479) @@ -65,6 +65,8 @@ FShowOutfilteredValue: Boolean; FOutfilteredValueFont: TFont; FComboBox: TJvCustomDBComboBox; + FOutfilteredItems: TStrings; + FOutfilteredValues: TStrings; procedure SetDataSource(const Value: TDataSource); procedure SetFilter(Value: string); function GetDataSource: TDataSource; @@ -660,10 +662,9 @@ begin if ListSettings.DisplayField <> '' then begin - //S := VarToStr(ListSettings.DataSource.DataSet.Lookup(ListSettings.KeyField, FDataLink.Field.AsVariant, ListSettings.DisplayField)) - Index := Values.IndexOf(FDataLink.Field.AsString); + Index := ListSettings.FOutfilteredValues.IndexOf(FDataLink.Field.AsString); if (Index <> -1) and (Index < Items.Count) then - S := Items[Index]; + S := ListSettings.FOutfilteredItems[Index]; end else S := FDataLink.Field.Text; @@ -809,6 +810,8 @@ (ListSettings.DataSource <> nil) and (ListSettings.DataSource.DataSet <> nil) and (ListSettings.DataSource.State = dsBrowse) then begin + ListSettings.FOutfilteredItems.Clear; + ListSettings.FOutfilteredValues.Clear; { Component is in the ListDataSet mode } Items.BeginUpdate; Values.BeginUpdate; @@ -836,12 +839,15 @@ DataSet.First; while not DataSet.Eof do begin - if FilterAccepted - and ((FilterExpr = nil) or FilterExpr.Evaluate) - then + if FilterAccepted and ((FilterExpr = nil) or FilterExpr.Evaluate) then begin Items.Add(LDisplayField.AsString); Values.Add(LKeyField.AsString); + end + else + begin + ListSettings.FOutfilteredItems.Add(LDisplayField.AsString); + ListSettings.FOutfilteredValues.Add(LKeyField.AsString); end; DataSet.Next; end; @@ -903,6 +909,8 @@ FOutfilteredValueFont := TFont.Create; FOutfilteredValueFont.Color := clRed; FOutfilteredValueFont.OnChange := FontChange; + FOutfilteredItems := TStringList.Create; + FOutfilteredValues := TStringList.Create; end; destructor TJvDBComboBoxListSettings.Destroy; @@ -912,6 +920,8 @@ FListDataLink.OnReload := nil; FListDataLink.Free; FListDataLink := nil; + FOutfilteredItems.Free; + FOutfilteredValues.Free; inherited Destroy; end; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |