cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
dhananjaya
Helper I
Helper I

Remove already added values and disable drop-down menu in edit from

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).

 

dhananjaya_0-1622402026714.png

 

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. 

dhananjaya_1-1622402316337.png 

 

dhananjaya_2-1622402402798.png

 

=====

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.

dhananjaya_3-1622402525865.png

 

dhananjaya_4-1622403102886.png

 

So please help me to implement this two cases in my power app. 

 

Regards

Dhananjaya

1 ACCEPTED SOLUTION

Accepted Solutions

Hi @dhananjaya ,

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"))

v-albai-msft_1-1623061185249.png

 

This is the data structure of test1 now:

v-albai-msft_0-1623061170995.png

 

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
}

v-albai-msft_2-1623061283994.png

 

Check result this time.

Best regards,

Allen

 

 

View solution in original post

11 REPLIES 11
CNT
Super User
Super User

@dhananjaya 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?

v-albai-msft
Community Support
Community Support

Hi @dhananjaya ,

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).

v-albai-msft_0-1622446897615.png

 

2. My form is connected to list9, so new items will be saved into list9.

v-albai-msft_1-1622446897617.png

 

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:

v-albai-msft_2-1622446897620.png

 

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)

v-albai-msft_3-1622446897622.png

 

2. Go to EditScreen, set DisplayMode property of dropdown to below code:

If(var1=1,Disabled,Edit)

v-albai-msft_4-1622446897624.png

 

3. Set var1=0 when submit your changes or cancel your changes:

v-albai-msft_5-1622446897627.png

v-albai-msft_6-1622446897628.png

 

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. 

@dhananjaya 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 @dhananjaya ,

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):

v-albai-msft_0-1622540634044.png

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 ) 

dhananjaya_0-1622747679332.png

 

In SharePoint

dhananjaya_1-1622747787817.png

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)))

 

dhananjaya_2-1622747907934.png

 

In SP,  project code is "Required", then how blank record store in project column 🤔

 

dhananjaya_3-1622747979195.png

 

* 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 @dhananjaya ,

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"))

v-albai-msft_1-1623061185249.png

 

This is the data structure of test1 now:

v-albai-msft_0-1623061170995.png

 

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
}

v-albai-msft_2-1623061283994.png

 

Check result this time.

Best regards,

Allen

 

 

View solution in original post

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

dhananjaya_0-1623179922940.png

 

it display project code as below. Other details correct but wrong project code. It is 1st available project code for the next new record. 

 

 

dhananjaya_1-1623180021488.png

 

  

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 ?

 

 

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

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