Hi All,
I need kind of guidance to implement following scenario. Please help me to solved this.
My back end date table is SharePoint and primary column name is project*. After implement the powerapp, Project code should not be duplicate. E.g. only 1 11MAP can be add. User cannot add it as a 2nd project , they can only update existing details of the same project (11MAP).
My implementation idea is, when user click + in powerapp display screen, project codes displaying in drop-down menu should not be ones which already add previously.
=====
In details screen, when I click edit icon and if it open edit screen with project drop down menu as disable, so then I can achieved that.
So please help me to implement this two cases in my power app.
Regards
Dhananjaya
Solved! Go to Solution.
Hi @Anonymous ,
I found something wrong after a test. Since this is a Lookup column, the record selected in this lookup dropdown must match the default Lookup Schema. So try this formula for your + button:
NewForm(EditForm1);Navigate(EditScreen1,ScreenTransition.None);ClearCollect(test1,ShowColumns(Filter([@'Project-List'],Not('Project Code' in AddColumns(Inspection,"Value1",Project.Value).Value1)),"ID","Title"))
This is the data structure of test1 now:
Then go to your EditForm, set Update property of your Project_DataCard to this:
{
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
Id: DataCardValue15.Selected.ID,
Value: DataCardValue15.Selected.Title
}
Check result this time.
Best regards,
Allen
@Anonymous When you say "project codes displaying in drop-down menu should not be ones which already add previously. " Added previously - Where? do you mean the SP list shown in u'r picture or some other SP list?
Hi @Anonymous ,
For your first question, what is the Items property of your dropdown? Are you populate this dropdown from another list or form a static table?
You can create a collection on the + button to get all the Project name that are not in your list. I will give you a simple example to understand this action.
1. For example, the items property of my dropdown is list10.Title(that means I populate this dropdown based on value in Title column from list10).
2. My form is connected to list9, so new items will be saved into list9.
3. On the + button, add a collection using below formula(NewForm(EditForm1);Navigate(EditScreen1, ScreenTransition.None) isthe default formula):
NewForm(EditForm1);Navigate(EditScreen1, ScreenTransition.None);ClearCollect(test1,Filter(list10.Title, Not(Title in list9.Title)))
4. Go to EditForm, change Items property of the dropdown to the collection test1:
Click + button on the display screen to check the result.
For your second question, you can use a variable to achieve your purpose.
1. On DetailedScreen, set OnSelect property of the pencil icon to below formula:
EditForm(EditForm1);Navigate(EditScreen1, ScreenTransition.None);Set(var1,1)
2. Go to EditScreen, set DisplayMode property of dropdown to below code:
If(var1=1,Disabled,Edit)
3. Set var1=0 when submit your changes or cancel your changes:
Check results this time.
Best regards,
Allen
Hi @v-albai-msft , thanks for your guides.
Project is Lookup type column in Inspection table in Share Point. In powerapp DropDown ( actually DropBox) is auto created (Choices([@Inspection].Project))
What I want, a project code should not display in dropbox if previous time it was added. So if all project codes added, then dropbox will be empty one day unless new project code added manually in SharePoint.
I tried your method, but your example is from two tables or two column. But in my case, all thing need to filter from same project column. Any idea of doing that ? I tried but didn't succeed 😞 Or Do I have to add another new column in SharePoint something like "usedProjects" and filter Project column from that..?
Second scenario for the edit the record is working perfectly as you mention. Thank for that.
Waiting for an hint for my 1st one...
I mean ones I add a record via powerapp, in the next time same project code should not be display in dropbox to select.
That record can only be edited ( not the project code column) after add.
@Anonymous When you say "a project code should not display in dropbox if previous time it was added"
added where? please explain this. All the Project Codes are in the Project Column of the Inspection SP List. So, where else are you adding it. In other words which other SP List are we trying to compare with?
Hi @Anonymous ,
This can be done.
Since your Project column is a Lookup column, we need to use its source column value. Besides, we need to use AddColumns function to keep its value into a Text column. You can directly refer to my formula about how to create the collection.
Here is my Lookup column called “Project”, which get information from list10.Title(pay attention about this column):
You can replace to use below formula in step 3(of first question) mentioned in my previous reply:
NewForm(EditForm1);Navigate(EditScreen1, ScreenTransition.None);ClearCollect(test1,Filter(list10.Title, Not(Title in AddColumns(Inspection,"Value1",Project.Value).Value1)))
Note: just replace to your actual value in above red location.
(also need to repeat step 4 of first question mentioned in my first reply)
Best regards,
Allen
Thank you very much @v-albai-msft ,The solution you have provided almost work. But strange issue has occurred when submit the data.
when data submit, project code is shown as blank. Can't believed because that project column has configured as "Required" column in SP as well.
Yellow Highlighted - Previously added records
Red Circle - No project code is there
In power app (browse gallery )
In SharePoint
This is added code as you mention in browse window +.
NewForm(EditForm1);Navigate(EditScreen1,ScreenTransition.None);ClearCollect(test1,Filter([@'Project-List'].'Project Code',Not('Project Code' in AddColumns(Inspection,"Value1",Project.Value).Value1)))
In SP, project code is "Required", then how blank record store in project column 🤔
* Since project code is blank, newly added project code are still displayed in dropdown menu. But previously added project codes are not display anymore.
Any hint to fix this ? where can be the issue ? Is this due to AddColumns funtion ? Need ur support on this 🙂
Hi @Anonymous ,
I found something wrong after a test. Since this is a Lookup column, the record selected in this lookup dropdown must match the default Lookup Schema. So try this formula for your + button:
NewForm(EditForm1);Navigate(EditScreen1,ScreenTransition.None);ClearCollect(test1,ShowColumns(Filter([@'Project-List'],Not('Project Code' in AddColumns(Inspection,"Value1",Project.Value).Value1)),"ID","Title"))
This is the data structure of test1 now:
Then go to your EditForm, set Update property of your Project_DataCard to this:
{
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
Id: DataCardValue15.Selected.ID,
Value: DataCardValue15.Selected.Title
}
Check result this time.
Best regards,
Allen
Hi @v-albai-msft Thanks a lot, it is working now as expected 🤗. Can you little explain me how you come with this kind of solution ? Specially regarding following and lookup issue (Highlted),
{
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
Id: DataCardValue15.Selected.ID,
Value: DataCardValue15.Selected.Title
}
=====
Also I need small help which I need to fix ?
In Edit screen, we are disabling the drop-down list with project code, but it don't display the exact project code ...
Eg
When I press the edit icon in detail display related to project code 149RR
it display project code as below. Other details correct but wrong project code. It is 1st available project code for the next new record.
I believed this issue due to default value in drop down list ? how can I fix this ? is it related to drop-down box default value or Data Card default value ?
How can I get correct project code display in disabled drop down box ? Do i need to use any formula ? Could you please help on this ?
This training provides practical hands-on experience in creating Power Apps solutions in a full-day of instructor-led App creation workshop.
Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.
User | Count |
---|---|
201 | |
73 | |
50 | |
41 | |
30 |
User | Count |
---|---|
254 | |
119 | |
95 | |
91 | |
78 |