I’m building an app in AppSheet where I need to create a matrix-style input table that allows users to input data dynamically. Specifically, I want the rows to represent one category (e.g., memory options) and the columns to represent another category (e.g., color options). Users should be able to fill in values in the table cells, and these values should be stored properly in the backend.
Parent Table:
ParentID
) and other metadata.ParentID | Name | Region | Type |
PARENT01 | Example1 | Europe | Type1 |
Child Table (Matrix Data):
ParentID
(Ref column linking to the parent table).RowValue
(e.g., memory options: 64GB, 128GB).ColumnValue
(e.g., color options: Red, Blue, Black).Value
(the user-entered value for the cell).
ID | ParentID | RowValue | ColumnValue | Value |
C001 | PARENT01 | 64GB | Red | 100 |
C002 | PARENT01 | 128GB | Red | 200 |
C003 | PARENT01 | 256GB | Red | 100 |
Expected Behavior:
RowValue
).ColumnValue
).Value
).Child Table (Matrix Data)
.Parent-Child Relationship:
Related MatrixData
) in the parent table with the formula:
REF_ROWS("MatrixData", "ParentID")
MatrixData
) with:
ParentID
column as a Ref to the parent table.RowValue
).ColumnValue
).Manual Data Entry:
MatrixData
table, but I can only see a flat list of rows in the inline table instead of a matrix-style layout.Dynamic Prepopulation:
RowValue
) and columns (ColumnValue
) based on the parent record, but couldn’t achieve a grid-style layout in the app.Matrix-Style Input Table:
RowValue
(e.g., memory options).ColumnValue
(e.g., color options).Value
).Dynamic Prepopulation:
RowValue
and ColumnValue
dynamically when a new parent record is created.Example Configuration:
Parent Table:
ParentID | Name | Region | Type |
PARENT01 | Example1 | Europe | Type1 |
Child Table (Matrix Data):
ID | ParentID | RowValue | ColumnValue | Value |
C001 | PARENT01 | 64GB | Red | 100 |
C002 | PARENT01 | 128GB | Red | 200 |
C003 | PARENT01 | 256GB | Red | 100 |
I want the inline table in the parent form to look something like this:
Memory/Colour | Red | Blue | Black |
64GB | 100 | 150 | 120 |
128GB | 200 | 250 | 180 |
Where users can directly enter values into the cells (e.g., 100, 150, etc.).
Solved! Go to Solution.
@akkarthe wrote:
I want to allow users to input values directly into the table cells, but AppSheet's default inline table layout doesn’t seem to support this structure.
Correct. What you want cannot be done using inline tables or forms.
@akkarthe wrote:
I want to allow users to input values directly into the table cells, but AppSheet's default inline table layout doesn’t seem to support this structure.
Correct. What you want cannot be done using inline tables or forms.
Thanks Steve, If that is the case I am wondering what would be the best way to achieve this?
Thanks again Steve, but looks like I will not be able to use it as this is a form type and not detail, it is not giving me the option to enable quick edit unfortunately as you said, so thinking of solving this creatively somehow, let's see.
As I said previously, matrix input is not possible in forms.
Agreed Steve, I am thinking of adding a button that opens up that particular input in detail view and gathering those info or something like that.
Yep, makes sense to me. You could also have a dashboard view that includes both the detail view and the editable table view so the desktop or tablet user could have both on the screen at the same time.
That's a good idea, let me try that out, Thanks 🙂
Note that detail view can also have QuickEdit columns, so you could allow the user to make changes to the details view, too.
User | Count |
---|---|
17 | |
12 | |
9 | |
4 | |
3 |