Matrix update delays

The current task in updating my databases is to duplicate a View as List patient account window. Per Jim’s guidance in the video on Text Lists and Matrices, I’m trying to use a matrix to duplicate the same information as the new view as list doesn’t allow certain interactive features, like buttons, that I use.

Here’s a screenshot of the reconciling area from Pan 6. As I reconcile the account, I click the checkmarks to show paid status for the different amounts. In Pan 6 the checks change color and display essentially instantly and I can zip from one record to another.

Screen Shot 2021-06-20 at 11.32.12 AM

In Pan X, I did get the checkmarks to update using a hack from Gary Y posted some time ago moving up and down a record in the database. However, the update takes a full 6 seconds to make the change in the display. While it is doing that, I can’t click anything else and reconciling is basically unusable. The checks are TDO’s that show the status of a field in that record with choices of Yes or No. The square is a calculation of whether the Total Fee has been paid in full and is different colors depending on Full, Partial, or None. In the working version the 1° and 2° amounts are editable via Text Editor objects. I haven’t gotten that to work yet, either

Here is a shot of the little test I’m running of trying to duplicate this operation. The Constructor gave me a one column matrix which I filled with the elements shown:

Screen Shot 2021-06-20 at 11.24.21 AM

Can anybody suggest a way to speed up the displaying of the checkmarks and updating the display? Additionally, how do I get the numbers to be editable in each of the lines? Simply putting a TEO in the Frame doesn’t allow editing in the matrix display

Thanks for any help or insight offered.

Scott

Instead of using a matrix, I would try using a text list that is populated with an array. When data changes, the array is recalculated. I have found this to be a reasonably fast interface. I have not used matrices in several years and the slow speed was the main reason; they might work better now but I have never gone back to using them. You can include check marks and colors and shapes, but I have had other issues with color and now try to avoid it. Here’s a sample of a report that I have using this approach;

Thanks for the tip. I did the same thing with the calendar display after testing speed with different types of elements. Do you have a suggestion for how to update the display of checkmarks and amounts? In Pan 6’s View-as-List I could click multiple times to cycle through the different symbols and click on the numbers to edit directly into the data field. Not sure how to do that with the text list.
The rich text option using tabs does make a nicely aligned display layout, but not sure how to update on the fly - and fast, so I can go click-click-click and be done.

Just a few days ago I posted in the private beta section of this forum that this hack will no longer be needed when using a Text List or Matrix in navigator mode, which I think you are. The list or matrix will update automatically. So your best long term solution may be to wait on this particular item until 10.2 is released.

Jim

Scott, I don’t know enough about what is going on to answer your question, i.e., what a click does. Rich text is not related to alignment into columns. But to give some more info, suppose the formula for the text list is simply a variable, say fglist. Then something would trigger the code to create an array and assign it to fglist, such as

fglist=Arraybuild(cr(),"", {Primary+?(Primary=Reconciled," ✔︎","-")+
    tab()+Secondary+tab()+Reconciled},{[Your selection criterion here]})
showvariables fglist

That would put a check in the primary column if Primary equals Reconciled.

You cannot edit the numbers directly in the text list, but you can put code in the procedure for the text list to help do that. You will need a form set up to edit the values, and open it when you click a row (I would normally use a double-click to avoid the window opening every time I click a row), like this:

if doubleclick()
    openform "mylittleeditor"
endif

After you make a change in the form, you must rebuild the array to show any changes you just made.

Hope that helps.

Thanks, Tom. I thought that was the answer but wondered if I had missed some way to edit individual items in the text list row. I have used the “my little editor window” in other places going back a long way. In this case, I will pop open a wide window that imitates the row clicked with all the editable items, then updates the array when closed.

FWIW, setting up a bunch of tabs in a rich text display can allow for centering numbers on the decimal and making some columns very narrow if they only contain a checkmark, say. The rich text changes the color of the flags - some generated by invoicing the person or by manually editing them later. These tabs set up the Time, Invoiced/payment Status flag, Name, and Attn Needed flag for each slot on the calendar. Also FWIW, 4 Flags/slot x 48 slots/day x 7 days/week= 1344 lookups to display just the calendar portion of the window and after many timed experiments found that using a text display object was way faster than text lists, which in turn was itself faster than using variously dimensioned matrices.

Here’s the start of the run of code that generates the first two slots of the display array for 48 calendar slots for a given day with the tabs at the beginning:

“<tabs:27r, 35, 44>lineheight:15”+ ¬+“color:515CC2”+ Array(TimesA, 1, “;”)+ ¬+“color:AF0000”+ Array(GVInv2, 1, “;”)+ ¬+“color:000000

  • Array(GVDay2, 1, “;”)[1, 20]+" "+“color:571DA0”+ Array(GVWaiting2, 1, “;”)

+¶+ ¬+“color:515CC2”+ Array(TimesA, 2, “;”)+ ¬+“color:AF0000”+ Array(GVInv2, 2, “;”)+ ¬+“color:000000”+ Array(GVDay2, 2, “;”)[1, 20]+" "+“color:571DA0”+ Array(GVWaiting2, 2, “;”)

And here is the result with a portion of the mini-edit window open:

Pan X Little Edit Window

Wow. That’s an impressively formatted output!

Thanks! I use Panorama mostly for its incredibly flexible options for user interface displays and functions. With enough planning and thought it can do everything for home and office except make coffee… although I bet someone could hack the HomeKit commands and make that happen, too