Filtering with German special characters Ä,Ö,Ü,äöü,ß does not work

Subject Component: TAdvTreeView
Filtering does not work when using German special characters Ä,Ö,Ü,äöü,ß.

To fix the error, I have extended the function in the unit: AdvTreeViewData.pas as follows
function TAdvTreeViewData.MatchFilter(ANode: TAdvTreeViewVirtualNode): Boolean;
as follows:

function TAdvTreeViewData.MatchFilter(ANode: TAdvTreeViewVirtualNode): Boolean;
var
i: Integer;
s:string;
temp: Boolean;

// 23.06.2023 - Insert this function
function DecodeHtmlSpecialChars(const HtmlText: string): string;

  • begin*
  • Result := StringReplace(HtmlText, 'Ä', 'Ä', [rfReplaceAll]);*
  • Result := StringReplace(Result, 'ä', 'ä', [rfReplaceAll]);*
  • Result := StringReplace(Result, 'Ö', 'Ö', [rfReplaceAll]);*
  • Result := StringReplace(Result, 'ö', 'ö', [rfReplaceAll]);*
  • Result := StringReplace(Result, 'Ü', 'Ü', [rfReplaceAll]);*
  • Result := StringReplace(Result, 'ü', 'ü', [rfReplaceAll]);*
  • Result := StringReplace(Result, 'ß', 'ß', [rfReplaceAll]);*
  • end;*

begin
Result := True;
for i := 1 to FFilter.Count do
begin
with FFilter.Items[i - 1] do
begin
s := '';
DoGetNodeText(ANode, Column, tntmDrawing, s);
s := TAdvUtils.HTMLStrip(s);

  *s := DecodeHtmlSpecialChars(s); // 23.06.2023 - Call new funktion to make HTML-Text zu special german charactes*

  s := Trim(s);

...
...
...

Hi,

Thanks for the code snippet. We have improved the match filter implementation.