We would like to connect 2 Sharepoint lists to one PowerApps gallery. So editing in in Form 1 with SP list 1, and then editing in Form 2 with SP list 2. The Title column in List 1 and List 2 are the same.
The gallery list is showing "Gallery.Selected" the filter is:
SortByColumns(
Filter(
[#BICT_DATA_KLANTEN_MAIN];
StartsWith(
Title;
ZOEKBALK_BICT_DATA_MAIN.Text
)
);
"Title";
If(
SortDescending1;
Descending;
Ascending
)
)
Its difficult for me to answer this question succinctly. There are SO many factors at play. To connect two Sharepoint lists to a single Gallery control, combine the lists into a single Collection.
Example:
ClearCollect(colCombined,
SPList1,
SPList2
)
Add colCombined to the Items property of the Gallery.
But this will add ALL records from both SP Lists.
You likely don't want this because of unnecessary columns, size of data, etc.
Considering the Form controls you mentioned, put some thought into the relationships between List1 and List2. I'm imagining you want a Header-Details-type of relationship.
Personally, I remove the Title column from Sharepoint lists then use a recordGUID column. Its more intuitive for me and others that come after me to maintain the app. "Title" says nothing about "ID key needed to relate lists".
Research the PowerApps GUID() function. You'll want to populate the recordGUID column of both lists when creating new records.
There is a 1-2hr class worth of nuance involved in creating a Header/Details type of application. From the UI to the Sharepoint best practices to the PowerFX code.
Maybe useful for you...
Related
Novice in Sharepoint and looking for some advise.
we are trying to setup a infopath form with the below fields.
ReqID (Autogenerated with a workflow based on ID like Req-1 etc.),
Description,
User,
Date,
Testing,
Tester,
Date
when the user submits the form, we would like to save the information to two separate lists on sharepoint like...
List A - ReqID, Description, User, Date
List B - ReqID, Description, Testing, Tester, Date
Can someone please advise if this is doable without using any coding.
Thank you so much for all the help.
Several possible solutions:
One list:
If it is a matter of hiding clutter from selected users then: create one list for all of the fields and then create two views, one with your first set of columns and the other with the second set of columns. This has the advantage of no duplication of data, and if you need to update the Description column, it only has to be done in one place.
Two lists:
From the InfoPath form, post all of the fields to the first list and create a View that only displays what's needed for the "A" users. Create a workflow that adds a new item to list "B" with only the data needed.
Three lists:
From the InfoPath form, post all of the fields to a master list. Create a workflow that copies selected fields to List A and to List B. This has the advantage of the master list being an unchanged source of the original data for audit or tracking purposes.
Using Web Services
I believe InfoPath can call web services. This will be more like "coding", but you can write data directly to SharePoint lists using SharePoint's REST API.
I'm not sure if the title is a proper descriptor of what I'm trying to achieve here, hopefully it's close enough. I'm not a SharePoint expert, but I'm comfortable with creating forms and workflows as necessary to get something like this to work.
Basically, I need to have two separate SharePoint lists that are linked together, but one list needs to have row level security to hide data from other users that shouldn't see it. I need the column that is being linked to be an editable text box though, rather than a simple lookup field.
For example:
List A
Customer (text)
Description (text)
Sales People (person, multiple selections allowed)
Expenses (linked field)
List B
Customer (text)
Expenses (number)
Created by (just a reference that the sales people would actually "create" each row here)
Essentially, multiple people can be assigned to a customer in list a. The "sales people" are assigned by another user who actually creates the item for list a. I need to be able to have the people who are assigned as "sales people" to have a text box where they can enter their expenses, but on an individual basis, that would then be stored in list b with row level permissions to prevent them from seeing each others expenses totals.
List B would be able to show each sales person their full list of expenses across all the customers they are connected to, but not be able to see each others expenses. It's not a problem if the person creating the item for List A ends up with items in List B that are 0, but I need to be able to have the Expense field be an editable text box from a form that allows the sales people to enter their total expenses for that customer.
If I was building a custom application, this wouldn't be difficult to do, but I can't for the life of me figure out how to do this in SharePoint, or if it is even possible.
This is possible, but it will require custom development, using the SharePoint Object Model. Create your two lists and then you can either create a javascript/HTML based solution using libaries like jQuery and SPServices, or you can create a custom web part and use C# to update the lists. There's lot of examples out on the internet on how to do this. Write some code, and bring any problems you have with the code back to StackOverflow.
I'd like to use Sharepoint to maintain UAT test results from different testers. I have a number of test cases, currently defined in a sharepoint list, categorized by 2 columns (Category level 1, Category level 2). I use these 2 columns as the two group by filters to users can easily navigate and find their use case. Now I' like to be able to store multiple results for each test case from multiple users. One idea is to create another list containing only the search results and to link the two columns to the other list of defined test cases.
You can have a "Results" list with a lookup column to the "Test Cases" list. That's generally how many-to-one relationships are handled in SharePoint.
Ok - so here's the preface. I realize that SharePoint isn't really the best solution for this, and if I have to use SharePoint, then coding this would be preferable. However, my wings are clipped due to IT policy, and they have no time to do this "for me".
I am developing a document control system for an Environmental Management System. The basic concept is that there is a list of 'General Responsibilities', which identifies a regulatory agency, some category info, links to laws, etc... There's a second list 'EMS Responsibilities', which basically just links (via a lookup) a particular site to a general responsibility, to identify which sites have which responsibilities. We have many sites, and most have most responsibilities so it doesn't make sense to combine the two lists and repeat all this stuff 10x. Finally, I have a document library (for simplicty sake I am ignoring the draft/published libraries aspect) which contains the actual documents. These documents should reference an EMS Responsibility, which in turn references a General Responsibility. The categorization from 'General Responsibilities' needs to propagate all the way to the document library.
Currently, I use workflow to automatically copy the secondary lookup columns referencing the 'General Responsibility' to a 'Single Line of Text' column in 'EMS Responsibilities' so that it is available to the lookup in 'EMS Documents'. However, despite the values being present in both responsibility lists, the values do not propagate to my final list.
This workflow-based approach is stupid. The lookup columns are stupid. There's no way to get this to work elegantly using out of the box components. I want to believe that the reason this isn't working is because I am missing something... but I have searched for hours and can't find any more effective relational capabilities.
First of all, any theories as to why the values do not end up in the final list despite referencing a single line of text column that is filled?
Second, is there a better overall approach that doesn't rely so much on workflows copying data back and forth, and these pathetic lookup columns?
Thanks in advance!
Given the requirements you gave above together with your answer to my question I believe you won't need a workflow to link all three items together. I have two options for you:
1st Option:
Create a General Responsibility list. This list should contain at least two columns. The ID and Title column.
Create an EMS Responsibilities list. This list should contain at least three columns. The ID, the Title column and a lookup column linked to the General Responsibility list.
Create a Document Library. Add a lookup column linked to EMS Responsibilities.
Since the lookup list you are using is already linked to General Responsibilities then there is no need to have another column solely dedicated to point to General Responsibilities. If however, you need to have specific columns in your document library so that it explicitly has columns for both General Responsibilities and EMS Responsibilities use option 2 below.
Option 2
Create a General Responsibility list. This list should at least contain the ID and Title column.
Create an EMS Responsibility list. This list should at least contain the ID, lookup column linked to General Responsibility and Title columns.
Create a document library. You should add two lookup columns. One pointing to General Responsibility the other to EMS Responsibility.
(now the fun part starts)
Follow the guide to edit both your NewForm and EditForm aspx in this link so that your lookup dropdowns will be a cascading dropdown. This will make sure that items from EMS dropdown will only be populated once you select a value from the General dropdown.
Let me know if you need any more clarifications.
Any one has any idea how to map an infopath field to a sharepoint column of type choice? The infopath field is a repeating field, so the user can select multiple options, I want to be able to map those to the choice field in sharepoint. Any ideas?
update:
What I'm trying to do is the following. I have a choice column in sharepoint which allows user entered values. In infopath, I have a repeating field. I'm binding the field to a dropdownlist. The dropdownlist gets filled by a webservice. This dropdownlist is in a repeating section, so the user can choose to select from multiple dropdownlists. So lets say the user adds 2 dropdownlists, and selects an option from each dropdownlist. I want to be able to add those selections as choices in the sharepoint choice column.
SharePoint list is a flat structure, and because of that Infopath does not allow you map repeating sections to list columns.
You might wanna consider the following workaround:
Store Infopath form to one library
(along with non-repeating fields)
Use one of these custom activities to extract data from
repeating table and copy it to
another list
Create a custom data view or a web part to display these items (if
necessary)
This approach can be useful if you need to do some additional tasks with the repeating data.
When you are promoting fields within a repeated section into SharePoint columns, the options available are to promote the column as:
first (i.e. only the first selection is promoted)
last
count
merge (I believe this merges all the selected values together into a single entry)
screenshot http://img4.imageshack.us/img4/5539/repeatinggrouptr3.png
Is it not similar to Create a Repeating Cascading List from:
a Flat Data Source or
a Hierarchical Data Source ?
If it is, may be those two articles may give you some pointers.
Depends on the type of choice field it is.
If it is a Multiple Select (checkboxes) Choice field, you can set the field through the object model (from the sharepoint site) or through the web service, by using ";#" for each item that you want to check mark, where is the value which is listed by the checkbox. I don't remember what the option is for single choice only, but it is something of the same nature. If you are talking about lookup fields, it has to do with the index number of the field from the list you are looking it up from. Also, there is additional steps if the choice field allows users to input or specify their own options.