load( local!multiSelectedValues, local!editableGridData: { { employeeId: 1, employeeName: "ABC" }, { employeeId: 2, employeeName: "XYZ" }, { employeeId: 3, employeeName: "PQR" } }, local!filteredData, a!sectionLayout( contents: { a!multipleDropdownField( label: "Multi Select Dropdown", choiceLabels: index( local!editableGridData, "employeeName", {} ), choiceValues: index( local!editableGridData, "employeeId", {} ), value: local!multiSelectedValues, saveInto: { local!multiSelectedValues, a!save( local!filteredData, index( local!editableGridData, wherecontains( local!multiSelectedValues, index( local!editableGridData, "employeeId", {} ) ), {} ) ), } ), a!gridLayout( label: "Editable Grid", headerCells: { a!gridLayoutHeaderCell( label: "Employee Id" ), a!gridLayoutHeaderCell( label: "Employee Name" ) }, rows: a!forEach( items: local!filteredData, expression: a!gridRowLayout( id: fv!index, contents: { a!integerField( readOnly: true(), value: fv!item.employeeId, saveInto: fv!item.employeeId ), a!textField( value: fv!item.employeeName, saveInto: { fv!item.employeeName, /* Uncomment this code if you want to save the changes on focus out of each field. */ /* a!save( local!editableGridData, updatearray( local!editableGridData, wherecontains( local!multiSelectedValues, index( local!editableGridData, "employeeId", {} ) ), local!filteredData ) ) */ } ) } ) ) ), a!buttonLayout( primaryButtons: { a!buttonWidget( label: "Save Changes", saveInto: a!save( local!editableGridData, updatearray( local!editableGridData, wherecontains( local!multiSelectedValues, index( local!editableGridData, "employeeId", {} ) ), local!filteredData ) ) ) } ) } ) )