Entry Display
Admin Entry View
In Forms > Entries > (click entry), extra rows appear below the original fields as additional sections (Row 2, Row 3, etc.) with field labels and values.
Virtual fields with negative IDs (from -1000) are injected to avoid conflicts with real fields.
CSV Export [Pro]
The Export module adds extra rows as additional columns:
Name | Email | Row 2 - Name | Row 2 - Email | Row 3 - Name | Row 3 - Email
Repeater marker fields are stripped from exports. Virtual column IDs use -(row * 100000 + field_id) encoding.
REST API [Pro]
Entry responses include a top-level gfr_rows key:
{
"id": 123,
"gfr_rows": {
"team_members": {
"0": { "5": "Alice", "6": "alice@example.com" },
"1": { "5": "Bob", "6": "bob@example.com" }
}
}
}
Raw field-ID-keyed data is stored as gfr_rows_raw_{groupname}, immune to label changes.
Data Storage
| Meta Key | Format | Purpose |
|---|---|---|
gfr_rows_{groupname} | [ row => [ label => value ] ] | Primary, used by most modules |
gfr_rows_raw_{groupname} | [ row => [ field_id => value ] ] | REST API, immune to label renames |
Retrieving Rows
// All rows (including row 0) via plugin function:
$rows = gfr_get_all_rows( $entry_id, $form );
// [ 'group' => [ 0 => [...], 1 => [...] ] ]
// Extra rows only via GF meta:
$extra = gform_get_meta( $entry_id, 'gfr_rows_team_members' );
// [ 1 => [ 'Name' => 'Bob' ] ]
File Upload Display
File URLs render as clickable links in admin entry view. Multi-file upload fields show total file count across all rows in the entry list.