0

I created a list with 100 items, split my page into three columns and entered the same webpart in each column. Now the thing I want to do is that by default, the list shows items 1-35 in column one, items 36-70 in column two and 71-100 in column three. My problem right now is that by default all three lists start with showing items 1-35 and each time you want to see an item 89, you have to manually click on >> twice at the bottom of the page. Is there any way to resolve this, if possible without Sharepoint Designer. I am using Sharepoint 2013 and my list is a custom list.

Regards

Michael

  • is this list going to change often? – Gwny Jul 30 '15 at 8:41
  • not that often, it is a member list of the company, probably one or two changes per year in it – Michael Jul 30 '15 at 12:44
1

Change the pagination of list views to how you want and copy the changed URL. The next time you paste this URL, you'll see your pagination persisted.

Some background info on how this works:

If you notice the URL when you change the page of the list view, you'll notice something like #InplviewHash appended. This is because in SP 2013, inplview.js handles filtering, sorting, paging of lists and document library views by querying against inplview.aspx. Whenever an action is initiated in the list view, SharePoint queries this page and gets the result in a JSON variable.

When you filter / sort / change the pagination of the list views, the format of #InplviewHash will change to (Parameters indicated in angular brackets):
1. Filter: #InplviewHash<ID_of_webpart_from_where_action_is_initiated>=FilterField1%3D<Column>-FilterValue1%3D<ColumnValue>.
2. Sort: #InplviewHash<ID_of_webpart_from_where_action_is_initiated>=SortField%3D<Column>-SortDir%3DAsc
3. Paging: #InplviewHash<ID_of_webpart_from_where_action_is_initiated>=Paged=TRUE-p_ID=<Last_item_ID_of_previous_page>-PageFirstRow=<First_item_id_of_current_page>

So, to handle persistence of pagination in your view, you can find the last ID of previous page, the first id of the current page and append in the URL. You will get the ID of webpart by viewing source. It seems there'll be 2 webpart IDs of a list view webpart added to a page. It is WebpartID2 that you want. You can append multiple #InplviewHash parts for multiple web parts. Like so: https://siteUrl/Pages/Test.aspx#InplviewHash191919ac-480d-4140-89b7-9db2223fc26f=Paged%3DTRUE-p_ID%3D30-PageFirstRow%3D31#InplviewHashd2c4bfc7-5bc9-49e0-8fc0-972a6d3ab6f1=Paged%3DTRUE-p_ID%3D60-PageFirstRow%3D61

Screenshot2

1

I would create 3 different views with filters:

View1 to display 1 to 35 items
View2 to display 36 to 70 items
View3 to display 71 to 100 items

Add webparts to each column and select each webpart properties to display View1, View2 and View3.

Tada...

  • 1
    So how is OP going to filter those 36-70 and 71-100 ??? (and please not say the ID value) – Danny '365CSI' Engelman Jul 30 '15 at 10:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.