It is certainly doable.

That's a good start :)
 
 

I'm not sure it would have a big impact on performance though.  It would be less lines of coding in Rexx, but that does not always translate to better performance when you are shifting the work from Rexx into the native API.  It depends on how often the native API needs to call back into the interpreter to do the work.  Nevertheless, the only way to know about performance would be to try it.


OK, I see what you mean. Well even so the coding would be/look much simpler.
 
Have you looked through the documentation on LvFullRow, LvItem, and LvSubitem?  LvFullRow came about though my desire to insert a new list-view item in one method invocation.  However, my main design goal was to be able to specify all bits of data that the list-view supports.


Yes, I've been through them all but couldn't see that they would address this particular task.
 
If you open a RFE for this, I'm inclined to implement it.  We can discuss here exactly how it should function.


Will do.
 
One idea I have would be something like this:

do i = 2 to data~items          -- loop thru all data arrays
   lv~insertFullRow(.LvFullRow~fromArray(data[i])) data array as a listview row
end

ListView::insertFullRow() already exists.  I would just need to add the LvFullRow class method fromArray(...)

LvFullRow objects have a number of things about them that are designed to assist in working with list-views.  The  LvFullRow object can automatically be set as the item data of the list-view item.  Then, the list-view columns can be sorted internally, which makes sorting of list-views with a large number of items much, much faster.

I like this idea.
 

This would not give you faster insertion of a large number of items though.

Is this regardless whether the lvFullRow object is set as item data or not? (Don't think my English is correct there!)
 

A new list-view method, insertRow() could be added that takes an array as an argument is possible

lv~insertRow(.array, itemData, stringValueForNil)


I think it's important that whatever method is chosen, the stringValueForNil option be included in one way or another.

Staffan