18 Hole Golf Scorecard Layout Arrangement Design

First, I am a beginner. and I need to know if what I am trying to do is even possible. I really would like to develop an app to emulate a golf scorecard. I do not want to rearrange the scorecard into a different configuration. I would like to have a 25x30 arrangement of data.

I would like for Cell A1 to remain stationary at all times.

Column A2 - A30 is a vertical header that contains player’s names and should only scroll vertically when the golf score data in Cellls B2 - Y30 is scrolled vertically.

Row Cells B1 - Y1 a re header rows (like Cell A1) and should only scroll horizontally when the golf score data in Cellls B2 - Y30 is scrolled horizontally but must remain stationary when Cellls B2 - Y30 are scrolled vertically.

Input golf scores and calculations will be contained in Cells B2 - Y30. This data can scroll horizontally and vertically. When this data is scrolled horizontally, the associated header (B1 - Y1) scrolls with the data. When Cells B2 - Y30 are scrolled vertically, the associated column header (A2 - A30) scrolls vertically and the row header B1 - Y1 remains stationary.

Can this arrangement be designed in App Inventor? If so, what resources should I be looking at to figure this out? I’ve figured out all of the above functionality with the exception of being able to keep Cell A1 and row header Cells B1 - Y1 stationary during vertical scrolling. I hope that this is clear and can be understood.

I believe this can be done in blocks without JavaScript using vertical and horizontal Canvas based scroll bars, to scroll via clipping a parallel Horizontal Arrangement of ListViews.

You will need to keep:

  • a master list of player names
  • a list (indexed by column) of dicts (keyed by name) of player column scores, filled with zeroes initially
  • a global offset index into the player name list for clipping the ListViews' fronts
  • a global offset index into the column numbers for assigning columns to ListViews

Each vertical or horizontal Canvas drag should rebuild the ListViews' Elements lists from the dicts, by adding a header and then the column scores (or name if column 1) taking into account the 2 offsets.

See these projects for parts you can use ...

Use a technique like my addplus value procedure:

Thanks! Its going to take me a while to process and try this solution.