Hi Folks -
I'm trying to add a ComboBox to an EditForm of mine, particularly within a DataCard.
The EditForm sits on a SP List called "rdActivity".
Ultimately, if an end user insitaites a change request, the ComboBox needs to populate with the current data element from the "Parent_Node" SP List column from "rdActivity".
In the screen shot below, I have the ComboBox off to the side right now just to validate, but furture state will be the ComboBox will overlay the "Parent Node" node and then the"Parent Node" DataCardValue field will be "ComboBox2.Selected.Value"...
The form right now is reading in all columns related to PFP-A1217500 thereofore the ComboBox should be populated with PFI-00590-10159 as showns in the "Parent Node" field above.
My ComboBox is a collection.
Weird that the DefaultSelectedItems validates but doesn't return anything. Any ideas? Thank you!
Solved! Go to Solution.
Bingo!! Your assumption is correct! Sorry for all of my confusion!!
And yes, we may as well post up at Sam Adams and just hook directly into the vat of Lager LOL
Sounds good to me...a constant beer flow 😉
Okay...we're on the same page now - a carton of milk and a dozen eggs.
So, back to the collection - this will work for you:
Clear(ListActParentList); Collect(ListActParentList, ShowColumns( Filter(RD_Investment_List, Portfolio_Status<>"Terminated"), "Name", "Parent_Node") ); Collect(ListActParentList, ShowColumns( Filter(RD_Target_List,Portfolio_Status<>"Terminated"), "Name", "Parent_Node") )
Then, the ListActParentList will be the Items property for the ComboBox. You will set this ComboBox to display the Name value (I believe this is the one you want...if not, then the Parent_Node)
The DefaultSelectedItems will be:
Now, some of what happens next will drop back to your data...if you have a Parent_Node value in both list (from your collection) that have the same value, you will have two items selected.
If that is the case and is an issue, then let me know.
And, as for the New Record scenario...I believe you just want this combobox to be not visible since it plays no role.
In your Update, you will want to have the logic to determine if it is a new record, and if so, then use the PFPParent variable, and if it's an edit, then use the combobox.Selected.Parent_Node value.
Nail head hit, or are we still swinging at pitches?
So RD_Target_List doesn't have a column called "Parent_Node", so the collection is failing. RD_Investment_List does, but again, the Parent_Node column I'm reffering to is in rdActivity, not the data sources.
Does that make sense?
Yes, makes sense...I'm reviewing that from your photos now.
So, this begs the question...what value do RD_Target_List and RD_Investment_List play in this? If they don't have a corresponding Parent_Node (which is what you are trying to get), then they will only have part of what you want...a name.
Are you saying that you want to get (let's stick with one list at the moment) all of the Name values from RD_Target_List, then find all of the Parent_Node values from the rdActivity list where the Name values are equal?
If that's the case, then you could change your formula for the collection to this:
Clear(ListActParentList); Collect(ListActParentList, AddColumns( ShowColumns( Filter(RD_Investment_List, Portfolio_Status<>"Terminated"), "Name"), "Parent_Node", Lookup(rdActivity, Name=RD_Investment_List[@Name]).Parent_Node ) ); Collect(ListActParentList, AddColumns( ShowColumns( Filter(RD_Target, List,Portfolio_Status<>"Terminated"), "Name"), "Parent_Node", Lookup(rdActivity, Name=RD_Target_List),Parent_Node ) )
Now...some adjustment might be needed on that formula. I'm just shooting from my head (at least not at it 😉 )
But, I'm not sure if that is in fact what you are looking for. And, I don't know how that might play into any duplication or similar records.
The "Name" columns from both the RD_Indication_List and RD_Investment_List are all POTENTIAL values that someone can chose from when selecting a new "Parent_Node" in this EditForm. There selection will then POPULATE the "Parent_Node" column of "rdActivity".
Here is a screen shot:
This of it this way. The values in the "Name" Column of "RD_Investment_List" & "RD_Target_List" are Parents to the data elements in the "Name" column in "rdActivity".
Does that make sense?
@RandyHayes Randy, sounds good!
I also am making some progress and am getting the combobox to populate, but as you can see, its the wrong data element. I'm not sure why its populating with the wron node, but i'll keep digging.
So, I'm a little confused on why you're dealing with the PFPParent variable in this case.
I thought in our "understanding" moment, that PFPParent ONLY applied in the case of the user selecting a Parent_Node from the Gallery, and only when they were creating a new request???
From what I lastly understood, the process was this:
1) Collect all the Name values from the two lists:
Clear(ListActParentList); Collect(ListActParentList, ShowColumns( Filter(RD_Investment_List, Portfolio_Status<>"Terminated"), "Name"), ); Collect(ListActParentList, ShowColumns( Filter(RD_Target, List,Portfolio_Status<>"Terminated"), "Name"), )
This would be the Items property of the ComboBox: ListActParentList
2) Now..this is where it gets fuzzy...
For existing requests - Before you wanted to display the names in the collection and have the current record Name as the current selection. And from that they could select a different name value.
In your photo, I am seeing the Parent_Node values listed - is that what you want or the Name?
For New requests - the combobox plays no role as the PFPParent variable is what is driving that - and it has the Parent_Node value in it to be used.
Help guide me to your dream my friend. I keep blowing a tire!!
It works as expected now, I made a few tweaks!
So, the values from "Name" columns of "RD_Indication_List" & "RD_Investment_List" correpsond to the POTENTIAL values that CAN be leveraged in the "Parent_Node" column of "rdActivity" (where this EditForm sits on. The value from "Name" column in "rdActivity" is the uniqe ID and used to populate this EidtForm.
The Items property of my ComboBox is "ListActParentList". Remeber, the ComboBox sits in my "Parent Node" field.
My "Parent Node" field has a default of my variable "PFPParent".
My ComboBox defaultselectitems is as follows:
Note above, the NAME from the collection corresponds to the "PFPParent" value, not "Parent_Node".
Then, in my "Parent Node" DataCardValue field I'm using the following:
And viola! Everything is working as expected now!!! Thank you again Randy. It was a challenge and I'm sorry for not being more clear!
WOW...I'm glad we finally got the pieces together!!
One observation I noted in this and some other of your posts - you seem conscious of the datacard that your ComboBox is in. This really is not relevant to this scenario. When you put your own control in place like this and tie the items and other properties together like we have, the fact that it is in a datacard is not important. The ONLY aspect that would be somewhat relevant is that the control can make use of the ThisItem value, and that is really only because the control is in a Form.
So, I mention that only to perhaps help you take that part out of your mind when dealing with this stuff. The datacard and the control (in this case) are in no way related and therefore any concerns over what it can access or use should not complicate your process. All of the formulas we discussed are pretty much outside of the concern for the datacard.
ANYWAY...YAY!! You are up and running. Sounds like a beer moment!