TFbmItem.UserFields

Diese Variable ist vom Typ TFbmUserFieldItemList und eine Eigenschaft der Klasse TFbmItem, welche in der Unit Item definiert wurde. Diese Variable bietet nur lesenden Zugriff.
Bietet Zugriff auf die benutzerdefinierten Felder des Elements.
Quelltext-Beispiel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const
  SourceUserFieldName = 'KontoDatentypZeichenkette'; // TODO: Mit den richtigen Namen der
  TargetUserFieldName = 'KontoDatentypListe';        // Benutzerdefinierten Felder füllen

var
  i: Integer;
  Names, Values: TStringList;
  SourceValue: string;

begin
  if Item.UserFields.Exists(SourceUserFieldName) and Item.UserFields.Exists(TargetUserFieldName) then
  begin
    SourceValue := Item.UserFields.ItemsByName[SourceUserFieldName].AsString;
    Names := TStringList.Create;

    try
      Names.Text := Item.UserFields.ItemsByName[TargetUserFieldName].Validation;
      Values := TStringList.Create;

      try
        Values.Text := Item.UserFields.ItemsByName[TargetUserFieldName].Values;
        i := 0;

        while (i < Names.Count) and (i < Values.Count) do
        begin
          if AnsiSameText(SourceValue, Values[i]) then
          begin
            Item.UserFields.ItemsByName[TargetUserFieldName].AsString := Names[i];
            break;
          end;

          Inc(i);
        end;
      finally
        Values.Free;
      end;
    finally
      Names.Free;
    end;
  end;
end.
Bei obigem Beispiel befinden sich im Zielfeld zum Beispiel folgende Wertepaare:
Hinterlegte Daten im neuen benutzerdefinierten Feld vom Typ Liste:
1
2
3
Name1=Wert1
Name2=Wert2
Name3=Wert3
In dem alten benutzerdefinierten Feld sind Zeichenketten wie "Wert1", "Wert2" oder "Wert3" hinterlegt.