Say I have a dictionary: { 'a':0, 'b':2, 'c':3 }. Can this be turned into two columns where one column are the keys, and the values for the other?
column(chars; chars){}
column(ints; ints){}
Hi, 'm not sure what your specific needs are, but here's a simple example that hopefully will give you some hints.
page 50100 TestPageForDictionary { Caption = 'Test Page For Dictionary'; PageType = List; UsageCategory = Lists; ApplicationArea = All; Editable = false; SourceTable = TestTableForDictionary; layout { area(Content) { repeater(Group) { field(DictionaryKey; Rec.DictionaryKey) { ApplicationArea = All; } field(DictionaryValue; Rec.DictionaryValue) { ApplicationArea = All; } } } } trigger OnOpenPage() begin InsertColumns(); end; local procedure InsertColumns() var Dict: Dictionary of [Text, Integer]; KeyText: Text; IntValue: Integer; begin Dict.Add('a', 0); Dict.Add('b', 2); Dict.Add('c', 3); foreach KeyText in Dict.Keys do begin Rec.Init(); Rec.DictionaryKey := KeyText; Rec.DictionaryValue := Format(Dict.Get(KeyText)); Rec.Insert(); end; end; } table 50100 TestTableForDictionary { DataClassification = CustomerContent; fields { field(1; DictionaryKey; Text[50]) { DataClassification = CustomerContent; } field(2; DictionaryValue; Text[50]) { DataClassification = CustomerContent; } } keys { key(Key1; DictionaryKey) { Clustered = true; } } }
Thanks.
ZHU
HI yzhums , I am now in the process of trying to insert the keys and values into two columns. Not sure how to go about that.
Hi, you can try to use Foreach method.
Using this method you can get the key and value separately. Then insert them into the columns you want to use.
For example:
pageextension 50100 MyExtension extends "Customer List" { trigger OnOpenPage() begin Test(); end; local procedure Test() var Dict: Dictionary of [Text, Integer]; KeyText: Text; IntValue: Integer; begin Dict.Add('a', 0); Dict.Add('b', 2); Dict.Add('c', 3); foreach KeyText in Dict.Keys do begin Message(Format(KeyText)); Message(Format(Dict.Get(KeyText))); end; end; }
Hope this helps.
Thanks.
ZHU
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
André Arnaud de Cal... 290,522 Super User 2024 Season 2
Martin Dráb 228,441 Most Valuable Professional
nmaenpaa 101,148