Showing results for 
Search instead for 
Did you mean: 
Post Patron
Post Patron

Need help with customized form

I all,

I need help (again).  I'm working on a customized form that is linked to a SPO list (obviously).  In the form, I have a gallery, where, if a person is putting in a new entry, can make a list if items to be included in that entry.  The problem I have now, is how to populate the gallery in the customized form when someone clicks on/opens an existing item in the list.  I've tried to use ThisItem.<whatever> in the default values of the gallery, but it doesn't seem to be doing the job.  Any ideas how I can make this work?


Accepted Solutions

OK, so, I was never able to get this to work properly.  Didn't get a lot of support on it either.  I did in the beginning, but then, nothing.  I ended up creating a separate SPO list for the items and tying it with the request list via a request ID column.  Not my ideal solution, but at least it works.

View solution in original post

Post Patron
Post Patron

Just wanted to give some more detail on this problem.


When a user submits a new request (or creates a new item in the list), they type text into 3 text input boxes that live in a gallery.  When they fill out the 3 boxes in the line and click Save, the line is concatenated (with a "|" in between each) and saved to a collection.  The output of the collection is collected by the datacard value property.  A quick example:


You have 3 text boxed in a single line/entry of the gallery:




The user enters the first line, and clicks the Save icon...



PC              Dell                          1


The user enters a second line, and clicks the Save icon...



PC              Dell                          1

MAC          Apple                       2


The collection (and the datacard value) look like this...





The user submits the form, and the above is save in the list's Item Detail column.


This is all fine if all I care about are new entries, but I'd like a user to see the item details when they open an item in the list.  So, I need to de-concatenate the item's Item Detail record/field and somehow assign it as the default value of the appropriate text box within the gallery.  To compound the issue, there maybe multiple lines in the record (as shown in the above example).  I hope that clears up any questions, but if anyone has questions or comments, please speak up.







Hoping this can help you out:


I've built what I think is similar in my debug app to see how to deconcatenate your text. So the main field where data is updated is named DataCardValue5


I have the 3 text fields used for data entry where the default value is set as follow:

  • Left(DataCardValue5.Text,Find("|",DataCardValue5.Text)-1)
  • Mid(DataCardValue5.Text,Find("|",DataCardValue5.Text)+1,Find("|",Mid(DataCardValue5.Text,Find("|",DataCardValue5.Text)+1))-1)
  • Mid(Mid(DataCardValue5.Text,Find("|",DataCardValue5.Text)+1),Find("|",Mid(DataCardValue5.Text,Find("|",DataCardValue5.Text)+1))+1)


Try it and see if it works out as you want.


Powerdiver, thanks for the reply.


I think this would work if I had the information handy in a collection, but it's coming from a record in a list.  The concept I'm struggling with is, when a user opens an item, how do I capture the data in the item?  How can I grab that record, so I can massage the data?  Another question, how do I set it so that it doesn't try to do all this when a person is creating a new item?

The example I provided was done with a SharePoint list as a source, not a Collection and it updates back to the database. Created in my app to be able to answer your question..

Oh, ok.  Perhaps I implemented it wrong.  Where in the app did you put those lines?  In the Onstart?

Powerdiver, Ok, I've played with it, and used your syntax (which I believe is correct), but it's not working for some reason. So, an item in the list has an ItemDetail column value of "PC|Dell|1". In the Default property of the Item textbox in the gallery, I put: Left(ItemDetailValue.Text,Find("|",ItemDetailValue.Text)-1) When I save and publish to SPO, then click on an item, nothing shows up in the Item value. What makes this even weirder, is that it DID work, but then stopped working. Don't know what I did wrong, or if I'm doing something wrong. What are your thoughts? Btw, ItemDetailValue is the datacard value in the form.

Sometimes with those weird characters, based on your PC language / locale it may have issues.. just for the "heck" of it have you tried with an asterisk ?

Nope.  Doesn't work either.  Maybe I'm approaching this all wrong.  When a user enters item details (for one or many items) into a gallery, I am taking the row(s) from the gallery and making them a multi-line text record in the list.  When a user opens an item, I need to reverse the process.  In researching this, I did find that the opposite of Concat is Split.  My coworker (who knows a lot more than me) said that to reverse what is saved to the multi-line record, I need to first use Split to get rid of the carriage returns (or Char(13)).  I tried:


Split(ItemDetailValue.Text, Char(13))


but I get:


The property expects Text value, but this rule produces incompatible Table values.


I tried just using the code you, Powerdiver, suggested.  


Left(ItemDetailValue.Text, Find("*", ItemDetailValue.Text))


Nothing shows up (like I said before, this DID work earlier).


I am starting to wonder if this is even possible...

The Split function returns a table of substring, that is why you get this error.

Yes, the fact that you work with a multi line does bring the crlf issue.

Why don't you use 3 different fields to work this out instead of the multiline ?

Helpful resources

Microsoft 365 Conference – December 6-8, 2022

Microsoft 365 Conference – December 6-8, 2022

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.

Difinity Conference 2022

Difinity Conference 2022

Register today for two amazing days of learning, featuring intensive learning sessions across multiple tracks, led by engaging and dynamic experts.

European SharePoint Conference

European SharePoint Conference

The European SharePoint Conference returns live and in-person November 28-December 1 with 4 Microsoft Keynotes, 9 Tutorials, and 120 Sessions.

Power Apps Ideas

Changes to Ideas Coming

We are excited to announce a new way to share your ideas for Power Apps!

Top Solution Authors
Top Kudoed Authors
Users online (1,999)