Sharepoint 2013 search results custom grouping display template - search

I am trying to implement custom grouping for search result items. I would like to group them by a managed property, but without using result blocks (query rules). The idea is to sort the results by the property and then compare the current item (ctx.CurrentItem) with the previous item using ctx.CurrentItem.ParentTableReference. If a new property value is detected we insert a new 'group header' (just some simple html). The problem is the ParentTableReference is undefined. Shouldn't there be such a property in current item object?
I'm implementing this in a custom search result item display template.

If you want get all items in result table, you can get ctx.CurrentGroup.ResultRows.

Related

sorting list of items with specific field on sales order item sublist NetSuite

I like to sort the list of items in the dropdown in the standard NetSuite sublist item. Let's say items are sorted with the name when clicked on >> to open the dropdown list.
Is this possible to sort this list with any other fields, maybe a custom field on items record. let's say I add a custom field on the item record (every item), which is some numbers.
displaying that list with the order by that field.
I have seen a way around to create a custom sublist of my own requirement and then hide the standard and show the custom on a specific record by customizing the form.
I had a similar issue once, I did the following:
You can create a new body field or sublist field based on your business using userevent script(before load).
Create a search with the required order(you can do any operation to prepare your data) after that you filled the result manually to the new custom field.
Whenever the user selects a value in the custom field you set the original one to be the same as the custom one. For this one, you will need a client script.
Note: you can show your custom field and hide or disable the original field only not the whole list since the client script will be responsible to set the value to it. using this approach will not require you to add or edit any of your records which will be helpful if you have a complex process and a lot of dependencies. This approach worked for my issue I hope to be helpful to you too.

Get List Title of a search result item

I want to get the the display title of the list, related to search result item in SharePoint search.
Result have OriginalPath and ParentLink values. But those are links to the list with internal name. But i could not find either display title or GUID of the list.
Please let me know how get either display title or GUID of the list.
You can use the SharePoint REST service to get the search results in a XML format which return all the fields and their values.
Querying with the Search REST service - https://msdn.microsoft.com/en-in/library/office/jj163876.aspx
You can construct the GET request URL with the query parameters as follows:
http://server/_api/search/query?query_parameter=value&query_parameter=value
The SharePoint 2013 Search Query Tool is a handy tool to quickly get the search results in XML format - https://sp2013searchtool.codeplex.com/
Found this post which describes how to get the list title of a search result item in a display template.
Since there is no managed property which contains the list title by default, the display template adds the list title to each item by retrieving it via a REST call using the web URL and the list ID.
https://github.com/SPCSR/DisplayTemplates/tree/master/Search%20Display%20Templates/Retrieve%20the%20list%20name%20in%20a%20display%20template

Filtering a repeating table linked to a secondary datasource

I have an infopath form based on a sharepoint list (worktracker).
In that form there is a repeating section which holds data from a secondary source which is the worktracker list again.
I would like to filter that table using the value in a field on the form - this enables me to run a check on duplicate items on the list by using a calculated checking reference.
I have done this by using conditional formatting to hide the non-matching items but that this killing my form as IE throws tantrum as it takes too long.
Does anyone know another way to do this? I am stuck using IE8 - not my choice!
UPDATE:
So since posting the above, I had since tried using a REST connection which doesn't work as my list is too big. I have also tried using an XML connection to a filtered view and that didn't work either!
Cheers,
In the form, select the value field. Create a rule that sets the secondary data source's query field of the same name to that value. Then query the secondary data source. It will only return the items where the value matches.

Use list filter value when adding new items to list

In a webpart page I got a list that is filtered on a value given from another webpart.
When adding an item to that list (from this webpart page); is there a way to preset the column the list is filtered on to be the same as the filter value?
Thanks.
Ivar
this link describes how to pre-fill field based on a query string variable. It can be useful for you, and if you add some modification to this solution your problem should be solved. The thing is that when you come to the part where you create the parameter for the "New item form" web part, you'll not specify to be a query string parameter. Instead it should be of type "None", and after that when you make the connections between the webparts you'll connect them in a way that they pass parameters to each other, not filters. I had some similar problem recently and made it work out in this way.

InfoPath won't let me customize forms for list

When i try to create a custom InfoPath form on my Orders List I get the following error:
The SharePoint list form can't be customized with InfoPath because fields of an unsupported data type are marked as required, or because fields are corrupted. In SharePoint, try deleting the columns or editing the column properties to remove the required attribute. - Product (Lookup)
Additional information:
The Site contains;
Two Site Content types Product and Order. Order does have a lookup field to product, it is a optional field so NOT required.
Two Lists. A Products list with Product as Content Type and an Orders list with Order as Content type.
The Site Collection has the SharePoint Server Enterprise Site Collection features activated. Creating custom InfoPath forms for the Products lists works without any problem.
I tried to delete my List and recreate it but it i still get the same error. Hope someone can help me with this issue.
Thanks
Apperantly this was due to to the Title field in the Content Type being a required value. Changing the lookup to the items ID solved it.
This worked for me. But if you don't want to use the ID field in your views or on the form, here are a couple tips to replace it with the Title (or other column) in your lookup field...
Replacing the IDs in the form:
In InfoPath, create a new data source for the lookup field. Follow through the prompts to find the list to lookup. Once it's added, change the Value to ID. This will now set the dropdown list in the form to display the Title values as well as properly link the IDs in the list.
Use Title (linked to item) in your list view without instead of the ID:
Create a new index in the list you're looking up for the field you want to be linked. Then go back to the main list and change the lookup back to Title (linked to item). Note that this will again break the ability to edit the form in InfoPath. Changing it back to ID will allow InfoPath editing again. Then just change it to Title (linked to item) again when done. There's probably a "right" way to do this but it works for me.
Apperantly this was due to to the Title field in the Content Type being a required value. Changing the lookup to the items ID solved it.
Simple solution to this is, create a lookup field using SharePoint List settings, and then edit the form with infopath for further design related changes. When you creates lookfield using infopath this gives above issue, i could resolve it by creating list column and then editing form with InfoPath.

Resources