Xojo report editor- see example for notes? CustomDataSource

Does anyone know of examples of custom dataset interfaces use that are a bit more helpful than whats in the doc? Theres also a .Run constructor that shows a (dataset, PDF) that would be great to know more about or have an example. I want to use some json objects that contain data I want in a report form so I made a report with about 8-9 string and number fields in the body section and some headings in the report form. Then I folowed the docs for “Displaying Reports” using text as a dataset. I combined that with the example, “Report preview with container control” and I set up a dummy array of values to feed into the report form. I set up the custom class using the Reports.dataset interface and implimented the methods as shown adapting to the array I send in in the constructor. It iterates through the number of items i have in teh array calling the run method first, then the EOF, then the Field(name) method but theres no name in the name argument coming in.
I cant figure out how it iterates through the custom data set and how im supposed to fill the fields in. I *think it calls the run method and then its maybe up to me to do the rest with the NexRecord? Its hard to tell what gets called, what/how i can reference the report items like header pics and fields, and how I can fill in the body field values. I am expecting to set up header and footer values in the run method maybe and then use an array of string arrays as the data to put into the fields i want to populate the body lines and then advance through the array…the data is quite convenient in json objects so I can configure it pretty much any way needed.

Partially solved thanks to, once again, @jim_mckay. A key thing missing form the docs is: you need to bind the datafield that you create in the report editor with an attribute in the inspector called “Data Field”. That would have been very helpful to point out in the docs. Once you have your fields linked via that attribute, they (the Data Field Names) do come through the cusotmDatasource class interface in the “Field(name)” method. It is at that time you provide the value for the incoming “name” parameter with the value from your datasource. Still, the way this thing works is kind of whacky imho, but also kind of cool. I have an array of dicts im sending into the report via the customdatasource with key/value pairs. So, heres the code in the Field(name) method:return myData(mArrayPosition).Lookup(name,"") where each key matches the Data Field attribute in the report editor. Now most everything hums along. However, if you’re like me and you want some fields in the header and footer, you want to supply that data in the report’s constructor - but no. All the report values are still nil in the constructor so thats out. Further frustration if you try to assign values to the fields.text values just post instantiation, also a no-go. Oddly, what does work, is including all the header and footer variable info in the first dict or whatever you’re sending in there, and then the rest of the body lines dont need that, it seems to be already defined. You can send the header/footer info each time too if thats a convenient part of your data structure so also kind of ok by me. Thanks again to @jim_mckay and I hope this help someone else some day. Ill post more if I get ot the PDF argument in the run method…