web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Detail Record Card Swi...
Power Apps
Answered

Detail Record Card Switches After Use of "Patch"

(0) ShareShare
ReportReport
Posted on by Microsoft Employee

Accept DateAccept Date

 

 

I am experiencing a strange behavior.  On my Edit Detail card, I have added controls to populate a date in SharePoint Online.

The user must choose a toggle button which make the "Accept" button enabled.  Using the "On Select" property enables the date to be saved to the data source.  The date is saved successully, however after I patch the record the user detail field goes the first record instead of staying on the record that is currently selected.

 

Patch(ActiveUsers,First(Filter(ActiveUsers,BrowseGallery1.Selected.DistinguishedName = DistinguishedName)), {MoveDate: MoveDatePicker.SelectedDate + Time(Value(HourDropdown.Selected.Value), Value(MinuteDropdown.Selected.Value), 0)})

 

I cant determine how it is possible but the only thing differrent is the addition of the Patch that is executed.  Anyone have ideas on why my detail card switches from the current record to the first record?  What might be a workaround to keep the current record the current record?

 

Thank you,

 

 

W.

Categories:
I have the same question (0)
  • v-yamao-msft Profile Picture
    Microsoft Employee on at

    Hi wedwards,

     

    I’d like to know more details about “however after I patch the record the user detail field goes the first record instead of staying on the record that is currently selected”.


    Could you show me more details about this situation?

     

    I have created an app based on your description, the function I am using on my side is:

    Patch(ProjectEmail,First(Filter(ProjectEmail,Title=BrowseGallery1.Selected.Title)),{h4kv: DateValue1.SelectedDate+Time(Value(HourValue1.Selected.Value),Value(MinuteValue1.Selected.Value),0)})


    When I click the button to patch the date time to data source, it saved properly and seems that I don’t get the issue “the user detail field goes the first record instead of staying on the record that is currently selected”.


    The date time field displays properly on all of the three screens, BrowseGallery, DisplayScreen, EditScreen.

     

    Could you please try it again with the function and feel free reply if you are still having the issue.

     

    Best regards,
    Mabel Mao

  • Community Power Platform Member Profile Picture
    Microsoft Employee on at

     

    >> Could you show me more details about this situation?

     

    InactiveInactiveActiveActiveDetailCardDetailCard

    (this changes from the current record to the data from record number one, after I choose "Accept")

     

     

    I have a BrowserGallery and a DetailScreen and have removed (deleted) the edit screen and hidden the edit icon on the edit screen because I did not want the records edited by the users, except for the date field. The date is the only user modifiable interface.

     

    The user can modify the date but can only accept the date after first turning the toggle button on, which enables the "Accept" button. If the toggle button is turned off, the "Accept" button is disabled.

     

    The purpose is to ensure the user must actively consent and "Accept" the date. This keeps me from having to put up a dialog, asking "Are you sure you want to accept this date?" It wasn’t accidentally accepted.

    Once the user clicks "Accept" using the "OnSelect" property, I patch the record on SharePoint. I see the progress dots go across the screen for a few seconds, the screen flashes momentarily with the same user record.

    A few seconds later, ( From the appearance, after the patch has completed) the screen begins to update but instead of showing the same record, the details for record number one show up.

    Interestingly, the correct record is updated but it is confusing to see the details for record one appear after updating another.

    Patch(ActiveUsers,First(Filter(ActiveUsers,DistinguishedName=BrowseGallery1.Selected.DistinguishedName)), { MoveDate: MoveDate.SelectedDate + Time(Value(HourDropdown.Selected.Value), Value(MinuteDropdown.Selected.Value), 0)})

    My Patch statement appears to be identical (in form) to yours. I initially had the filter condition as BrowseGallery1.Selected.DistinguishedName=DistinguishedName but just in case (I didn’t see how it would make a difference) I swapped the order to DistinguishedName=BrowseGallery1.Selected.DistinguishedName

    Thank you,

    W.

  • Community Power Platform Member Profile Picture
    Microsoft Employee on at

    After looking for more information on this issue I found another user who is experiencing the same behavior.

     

    https://powerusers.microsoft.com/t5/PowerApps-Forum/SubmitForm-command-changes-Gallery-Selected-item-record/td-p/2865

     

    User JoshHoughton provided a workaround (see above link).  The workaround does work, however the Calendar control on the page visibly stays the same my the view (it should) but something changed in the background because the text that matches the selected calendar control changed to reflect todays date which is the default value of the calendar.

     

     

     

     

    Date doesnt match after updateDate doesnt match after update

     

     

    This is my TEXT property for the selected label.

     

    Text(ChangeDatePicker.SelectedDate + Time(Value(HourDropdown.Selected.Value), Value(MinuteDropdown.Selected.Value), 0), "[$-en-US]ddd, dd mmm yyy, hh:mm am/pm")

     

    I would like this to execute without a workaround but in the interim, would someone have an idea of what I might do to ensure the text display matches the date chosen, even after the update?

     

    Thank you,

     

     

    W.

     

     

  • sfishe Profile Picture
    77 on at

    I think I'm having the same or very similar issues when using Patch(). I intend to make a new forum post on here describing the issue, although as my situation is a bit complex it'll take me awhile to write out a proper explanation. Was just wondering, before I type it all out, did you find any new info/workarounds?

  • Community Power Platform Member Profile Picture
    Microsoft Employee on at

    Unfortunately, I have not.  I spend most of the day yesterday trying to come up up with a solution.  I was willing to entertain oddball solutions.  If you navigate to the previous screen and reselect the record, it is up to date. 

     

    Knowing this, I tried a hostile exercise of programmatically navigating back and redisplaying the card but (unless I did something wrong) it didnt work.  It appears that Patch is Asynchronous, so placing a command directly after the patch can (and in my case does) occur before the patch completes.

     

    https://powerusers.microsoft.com/t5/PowerApps-Forum/SubmitForm-command-changes-Gallery-Selected-item-record/td-p/2865

     

    Currently the best workaround is the post by JoshHoughton on the above link.  The solution is lets say 99% effective.  It keeps you on the selected record but something is happening after the patch in the background that appears to be causing a reset of of the edit form or something like a reset.  I placed a refresh icon on the page (as a test) and performed a Refresh (after the patch) and so the form should have updated with the most recent data that was patched into the SharePoint list but that didnt happen. 

     

    Sadly, the customized card that has controls whose valuest do not come from the parent are not updated.  They maintain the values they had prior to the patch.  This is why I say that JoshHoughton workaround is 99% effective.

     

     

    W.

     

  • Verified answer
    Community Power Platform Member Profile Picture
    Microsoft Employee on at

    I found a solution.  It is an extension of JoshHoughton's idea.  I've been testing this for over an hour, trying to come up with scenarios where this would fail and could not produce one.  JoushHoughton passed a record as a context variable and used it in the Item on the detail form. If you updated the record in the background using patch, it could not be reflected in the detail form.

     

    Passing a unique identifier for the record and then utilizing it to obtain the actual record, it works without fail.  After the patch, the form stays with the current record and the updates are reflected in the form.

     

    NextArrow

    OnSelect = Navigate(DetailScreen1, ScreenTransition.None, {CustomRecordSelected: BrowseGallery1.Selected.DistinguishedName})

     

    DetailForm1

    Item = First(Filter(ActiveUsers,CustomRecordSelected = DistinguishedName))

     

    BrowseGallery1.Selected.DistinguishedName uniquely identifes this record and is stored in CustomRecordSelected

     

    See the illustrations below

     

    I hope this helps other.

     

    Thanks to JoshuaHoughton.  His initial idea got this ball rolling.

     

     

    W.

     

     

     

    Overcome Record Change Bug Part 1Overcome Record Change Bug Part 1 

    Overcome Record Change Bug Part 2Overcome Record Change Bug Part 2

     

     

     

     

  • sfishe Profile Picture
    77 on at

    Thanks wedwards! (and JoshHoughton)

     

    This solved my issue too, at least partially. I was also having the same type of problem when creating a new record on the affected gallery. If I made the new record without filling in the field that the gallery sorts by PowerApps would fill the form with an existing recording after the SaveForm.

     

    To get around this I used a context variable I was already using for the SaveForm function to Patch only NewForm situations/modes, and the Last() function in the Item property to force PowerApps to display the latest record, which should always be the newly created one. Described below...

     

    My "new record" button is:

    NewForm(FormEditCell); Navigate(EphysExpCell, None, { patchLookupEphysCell: true })

    And the Item property of the detail form is:

    If (patchLookupEphysCell = true, Last('Exp Slice Ephys Cells 2'), First(Filter('Exp Slice Ephys Cells 2',CellSelected = ID)))

    And I set the context variable to false when leaving that screen via the Cancel/Back or Delete buttons:

    UpdateContext({patchLookupEphysCell: false})

     

    An annoyance that still remains is that I can often see PowerApps refreshing the form - showing the wrong or old data first before the above functions get applied. We really shouldn't have to be doing these types of workarounds...

     

  • JoshHoughton Profile Picture
    73 on at

    Thanks for the special mention everybody 🙂 Does this mean I will be famous now? lol

  • eag768 Profile Picture
    77 on at

    Thanks so much! You win at life! 🙂

  • eag768 Profile Picture
    77 on at

    I completely agree. I've been struggling with SO many needs for work arounds!

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the July Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 377 Most Valuable Professional

#2
11manish Profile Picture

11manish 165 Super User 2026 Season 2

#3
MS.Ragavendar Profile Picture

MS.Ragavendar 110 Super User 2026 Season 2

Last 30 days Overall leaderboard