From ca31a5f9dba014e6d5a46882345e633d605e2424 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Fri, 17 Dec 2021 16:34:48 +0000 Subject: [PATCH] JvclLaz: Improve usability of the JvDBTreeView at designtime. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8182 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/jvcllaz/run/JvDB/jvdbtreeview.pas | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/components/jvcllaz/run/JvDB/jvdbtreeview.pas b/components/jvcllaz/run/JvDB/jvdbtreeview.pas index 0f8f0e24d..5bf50673e 100644 --- a/components/jvcllaz/run/JvDB/jvdbtreeview.pas +++ b/components/jvcllaz/run/JvDB/jvdbtreeview.pas @@ -658,9 +658,8 @@ procedure TJvCustomDBTreeView.LinkActive(Value: Boolean); begin if not Value then HideEditor; - if not AllFieldsValid then + if (not AllFieldsValid) and (not (csDesigning in ComponentState)) then Exit; - //if ( csDesigning in ComponentState ) then Exit; if ValidDataSet then begin RefreshChild(nil); @@ -704,6 +703,8 @@ var cNode: TTreeNode; fbnString: string; flt: String; + + lItemField, lDetailField: TField; begin // CheckDataSet; if not ValidDataSet or UpdateLocked then @@ -711,6 +712,9 @@ begin Inc(FUpdateLock); with FDataLink.DataSet do begin + lItemField := FieldByName(FItemField); + lDetailField := FieldByName(FDetailField); + BK := GetBookmark; try DisableControls; @@ -747,14 +751,14 @@ begin First; while not Eof do begin - fbnString := FieldByName(FDetailField).AsString; // avoid overhead + fbnString := lDetailField.AsString; // avoid overhead if FUseFilter or (((ParentValue = Null) and ((fbnString = '') or (Copy(Trim(fbnString), 1, 1) = '-'))) or - (FieldByName(FDetailField).Value = ParentValue)) then + (lDetailField.Value = ParentValue)) then begin - with Items.AddChild(ANode, FieldByName(FItemField).Text) as TJvDBTreeNode do + with Items.AddChild(ANode, lItemField.Text) as TJvDBTreeNode do begin FMasterValue := FieldValues[FMasterField]; if FIconField <> '' then