= a!gridRowLayout( contents: if( ri!readOnly_bool=true, if( ri!displayOnLandStatement_bool=true, { a!textField( label: "SurfaceFileNumber " & ri!index_int, value: ri!items[ri!index_int].SurfaceFileNumber, saveInto: ri!items[ri!index_int].SurfaceFileNumber, readOnly: ri!readOnly_bool ), a!checkboxField( label: "SurfaceFileNumber", choiceLabels: {""}, choiceValues: {true}, value: if( rule!APN_isBlank(ri!items[ri!index_int].DisplayOnLandStatement), null, ri!items[ri!index_int].DisplayOnLandStatement ), saveInto: ri!items[ri!index_int].DisplayOnLandStatement, disabled: ri!readOnly_bool ) }, { a!textField( label: "SurfaceFileNumber " & ri!index_int, value: ri!items[ri!index_int].SurfaceFileNumber, saveInto: ri!items[ri!index_int].SurfaceFileNumber, readOnly: ri!readOnly_bool ) } ), if( ri!displayOnLandStatement_bool=true, { a!textField( label: "SurfaceFileNumber " & ri!index_int, value: ri!items[ri!index_int].SurfaceFileNumber, saveInto: { a!save( ri!duplicatedValidation_bool[ri!index_int], if( rule!APN_isEmpty( wherecontains( lower(save!value), lower( index( ri!items.SurfaceFileNumber, wherecontains( ri!itemNumber_int, ri!surfaceFileNumberGroupIndexList_int ),{} ) ) ) ), false ,true ) ), a!save(ri!items[ri!index_int].SurfaceFileNumber,save!value), a!save(ri!items[ri!index_int].Deleted,false()), a!save(ri!items[ri!index_int].CreateUser, if(rule!APN_isBlank(ri!items[ri!index_int].CreateUser), loggedInUser(),ri!items[ri!index_int].CreateUser) ), a!save(ri!items[ri!index_int].CreateDate, if(rule!APN_isBlank(ri!items[ri!index_int].CreateDate), now(),ri!items[ri!index_int].CreateDate) ), a!save(ri!items[ri!index_int].UpdateUser,loggedInUser()), a!save(ri!items[ri!index_int].UpdateDate,now()) }, required: true, readOnly: true, validations: if(ri!duplicatedValidation_bool[ri!index_int],"This Surface File Number is already exist","") ), a!checkboxField( label: "SurfaceFileNumber", choiceLabels: {""}, choiceValues: {true}, value: if( rule!APN_isBlank(ri!items[ri!index_int].DisplayOnLandStatement), null, ri!items[ri!index_int].DisplayOnLandStatement ), saveInto: ri!items[ri!index_int].DisplayOnLandStatement, disabled: ri!readOnly_bool ) }, { a!textField( label: "SurfaceFileNumber " & ri!index_int, value: ri!items[ri!index_int].SurfaceFileNumber, saveInto: { a!save( ri!duplicatedValidation_bool[ri!index_int], if( rule!APN_isEmpty( wherecontains( lower(save!value), lower( index( ri!items.SurfaceFileNumber, wherecontains( ri!itemNumber_int, ri!surfaceFileNumberGroupIndexList_int ),{} ) ) ) ), false ,true ) ), a!save(ri!items[ri!index_int].SurfaceFileNumber,save!value), a!save(ri!items[ri!index_int].Deleted,false()), a!save(ri!items[ri!index_int].CreateUser, if(rule!APN_isBlank(ri!items[ri!index_int].CreateUser), loggedInUser(),ri!items[ri!index_int].CreateUser) ), a!save(ri!items[ri!index_int].CreateDate, if(rule!APN_isBlank(ri!items[ri!index_int].CreateDate), now(),ri!items[ri!index_int].CreateDate) ), a!save(ri!items[ri!index_int].UpdateUser,loggedInUser()), a!save(ri!items[ri!index_int].UpdateDate,now()) }, required: true, validations: if(ri!duplicatedValidation_bool[ri!index_int],"This Surface File Number is already exist","") ), a!linkField( label: "delete " & ri!index_int, links: a!dynamicLink( label: char( 10005 ), value: ri!index_int, saveInto: { ri!items << fn!remove( ri!items, _ ), ri!itemsToken << fn!remove( ri!itemsToken, _ ), ri!duplicatedValidation_bool << fn!remove( ri!duplicatedValidation_bool, _ ), ri!surfaceFileNumberGroupIndexList_int << fn!remove(ri!surfaceFileNumberGroupIndexList_int, _) } ), align: "CENTER" ) } ) ), id: ri!index_int )