= load( local!data: { {id:1, name: "name 1", description: "description 1"}, {id:2, name: "name 2", description: "description 2"}, {id:3, name: "name 3", description: "description 3"}, {id:4, name: "name 4", description: "description 4"} }, local!gridSelection: a!gridSelection( pagingInfo: a!pagingInfo( startIndex: 1, batchSize: -1 ), selected: null ), local!lastSelected, { a!gridfield( columns: { a!gridTextColumn( label: "Name", field: "name", data: local!data.name ), a!gridTextColumn( label: "Description", field: "description", data: local!data.description ) }, totalCount: count( local!data ), value: local!gridSelection, saveInto: { a!save( local!gridselection, save!value ), a!save( local!gridselection.selected, if( isnull( local!gridselection.selected ), null, if( and( count( local!gridselection.selected ) < count( local!data ), count( local!gridselection.selected ) > 1 ), remove( local!gridselection.selected, 1 ), if( count( local!gridselection.selected ) = count( local!data ), local!lastSelected, local!gridselection.selected ) ) ) ), a!save(local!lastSelected, local!gridselection.selected) }, identifiers: local!data.id, selection: true ), a!textField( label: "Selected Row", value: local!gridselection.selected ) } )