=load( local!employees: { {id: 1, name: "John Smith", department:"Engineering", title: "Director", startDate: date(2013, 1, 2)}, {id: 2, name: "Michael Johnson", department:"Finance", title: "Analyst", startDate: date(2012, 6, 5)}, {id: 3, name: "Elizabeth Ward", department:"Engineering", title: "Software Engineer", startDate: date(2001, 1, 2)} }, local!pagingInfo: a!pagingInfo(startIndex: 1, batchSize: 25), local!employeeToUpdate, local!flag:false, with( local!employeeDataSubset: todatasubset(local!employees, local!pagingInfo), a!formLayout( label: "SAIL Example: Grid with Link to Show More and Edit Data", firstColumnContents: { a!sectionLayout( label: "Employees", firstColumnContents: { a!gridField( totalCount: local!employeeDataSubset.totalCount, columns: { a!gridTextColumn( label: "Name", data: index(local!employeeDataSubset.data, "name", {}), links: apply(a!dynamicLink( value: _, saveInto: { local!employeeToUpdate, a!save(local!flag, true) } ), local!employeeDataSubset.data) ), a!gridTextColumn( label: "Department", data: index(local!employeeDataSubset.data, "department", null) ) }, value: local!pagingInfo, saveInto: local!pagingInfo ) } ), if( isnull(local!employeeToUpdate), {}, a!sectionLayout( label: "Employee Details: " & local!employeeToUpdate.name, firstColumnContents: { a!textField( label: "Name", value: local!employeeToUpdate.name, saveInto: local!employeeToUpdate.name ), a!textField( label: "Department", value: local!employeeToUpdate.department, saveInto: local!employeeToUpdate.department ), a!textField( label: "Title", value: local!employeeToUpdate.title, saveInto: local!employeeToUpdate.title ), a!dateField( label: "Start Date", value: local!employeeToUpdate.startDate, saveInto: local!employeeToUpdate.startDate ), a!buttonLayout( primaryButtons: a!buttonWidget( label: "Update", value: local!employeeToUpdate.id, saveInto: a!save( local!employees, updatearray( local!employees, wherecontains(save!value, local!employees.id), local!employeeToUpdate ) ) ) ) } ) ) }, buttons: a!buttonLayout( primaryButtons: a!buttonWidgetSubmit( label: "Submit" ) ) ) ) )