How do I add Paging to a sharepoint DataFormWebPart? - sharepoint

I'm creating an archive of news articles in a sharepoint publishing site. users can browse or search the archive. browsing is a simple list of article dates titles. I'm using the DataFormWebPart to display the contents of the Pages (articles). as there are thousands of articles, i'l like to show maybe 50 on a page. I see no built in paging on the DataFormWebPart. I'm seeking guidance on the proper way to add paging. I'm feeling like the XSL template is the proper place to start.

If you look at the page using the sharepoint designer in 'design' mode, you can click the common task arrow ( > ) and customize the data view properties.
One of the tabs will be about 'paging' and you can set how many items per page.
Hope this helps!

The XSL template is where you need to start. Unless you are dealing with multiple data sources setting a list as the datasource on a new DataFormWebPart in SharePoint Designer (SPD) will create an XSL template with paging (10 items default). You can then review and edit the XSL if you want to modify the appearance or operation. After the initial XSL template take a look at the webpart properties in either the browser or SPD. There are some other settings (e.g. async) that you may want to alter. The paging technically works with mutiple data sources but it is only on the parent data source. If the child count is large it often times is too large to see the paging control in SPD.

Related

Is an accordian list possible in SharePoint?

I am looking to set up a home page for our group in SharePoint that essentially has four areas. I kind of foresee four columns of accordion menus. The problem is that not all the items under the drop down will have web page links.
Is this possible to do? Is it possible to add icons at the top of each column to represent what the areas are? I am pretty new to SharePoint design and am taking a class but my boss is wanting something like this done to make it more user-friendly.
I would prefere to use the jQuery or another JavaScript driven accordeon to solve your problem. You can fetch you item the through SharePoint REST API or JSOM.
There are also a lot of examples out there but too long to copy in here:
HOW TO CREATE DYNAMIC ACCORDIONS IN SHAREPOINT PAGES
CSR code samples #6 (Accordion)
Customize the rendering of a List View in Sharepoint 2013: Displaying List Items in Accordion

SharePoint 2010 Survey View

I need to add an ability for users to add custom views for a Survey List. Using Designer is not an option.
In order to add a new View I now open the standard SharePoint form "/_layouts/ViewNew.aspx?List={SurveyListID}".
I setup a new view selecting the fields I want to see. Then, when I look at this View it looks like standard "{SurveyTitle}/overview.aspx" view no matter what I do. But I need it to look more like a SharePoint list view. I've seen dozens blog posts where people used this method and no one mentioned any problems like I am having. I've tried this method using 3 different SharePoint farms and I get the same behavior.
I was able to create a view that works OK using Designer by copying "All Responses" View and editing . However, forcing users to use Designer is not a great idea.
Does anyone know an easy method to force my custom views to display properly in Survey List?
Finally, I've found solution.
Open the page /_layouts/ViewType.aspx?List={SurveyListID}
Create a view based on "All Responses" View
Done! No need to use Designer

How can I effectively group a whole bunch of Sharepoint lists?

I'm still learning Sharepoint and all of its various concepts, so apologies in advance for my ignorance. Here's what's going on - my company is moving a whole bunch of forms from another application into Sharepoint as InfoPath forms. Each InfoPath form is a Sharepoint list. So, we've got something like 300 different lists representing these forms.
My task is to put these lists on a page in some kind of reasonable format, meaning we need to present them in more reasonably-sized groups. Essentially, what I think I need is a list of lists. I've seen a few discussions here on this topic, all of which end with "Sharepoint doesn't provide a list of lists you need to do it yourself". I attempted to use a Content Query web part, but that only could get me the items inside each list, which in this case isn't what I want - I want the Sharepoint list itself.
From what I've read, it sounds like some custom code can build what I want. Is there any other way for me to group these lists?
Edit for more information: Part of the problem we have is that we aren't sure how to group the lists. I believe what Tom says below, that it's pretty easy to get a list of all the lists. But somehow, we still have a need to get the lists into the appropriate buckets.
For example, let's say there are 10 lists, and we want to group them by department. The first three belong to HR, lists 4-7 belong to IT, and lists 8-10 are Executives. Even with a custom code solution, we still need to make that connection, and I'm not sure how to do that (easily). If that's going to be a manual process anyway, it seems like a master list like #strongopinions suggests will be easier than a custom code solution?
I got this working using SharePoint Designer and a DataFormWebPart.
Steps:
Open the SharePoint site by clicking File -> Open Site and entering your site's URL (Ex: http://servername/sitecollection/subsite)
Open the page you will be adding the webpart to (Ex: default.aspx)
Click in one of your web part zones
Add the DataFormWebPart by clicking Insert -> SharePoint Controls -> DataView
In the Data Source Library pane on the right, under XML Web Services, click Connect to a Web Service.
Enter in a service description location to the Lists.asmx web service (Ex: http://servername/sitecollection/subsite/_vti_bin/Lists.asmx)
Click Connect
Choose GetListCollection for the operation
Click on your newly created Lists datasource and click Show Data from the dropdown
CTRL+Click to select DefaultViewURL and Title
Click Insert Selected Fields as.. -> Multiple Item View
Save your page and you're done!
P.S. You can also use something like this to generate a nice link:
<a>
<xsl:attribute name="href">
<xsl:value-of select="#DefaultViewUrl"/>
</xsl:attribute>
<xsl:value-of select="#Title"/>
</a>
Edit
Shoot. Didn't see the SharePoint2010 tag... these are instructions for SharePoint 2007. I'll leave this answer up here in case it is helpful.
I think the most flexible solution would be to create a custom webpart. With Visual Studio 2010, creating and deploying webparts is easier than ever before and the code to list all lists isn't very difficult either.
Not that I don't like SharePoint Designer, but I don't like to call the SharePoint webservices from inside SharePoint. It doesn't sound really performant.
Let me know if you need some help with the code.
You could create a list of links in SharePoint to act as a "master list." This list would contain URLs to each of the other lists. Then display your "master list." This would have to be created by hand though. Other than that you would probably have to use custom code to generate the list.

Is there a ootb sharepoint list control?

I need a control which simply outputs a list of items. Much like the summary link control but without the links. I thought about using the summary link control and use xsl to style the list, but the link field is required. So this is no good.
Is there anything?
Have you checked out the Content Query Web Part or the Content Editor Web Part?

Sharepoint Branding

I'm just tasked by my boss to create a Sharepoint solution for the scenerio below.
(I'm a total newbie to Sharepoint. So please forgive me if i use the terminology wrong)
The portal should open in a custom look than the default Sharepoint design and it should have links to the products. Every product page should have different look and feel but have same types of content. For example every product should have Published Materials list but with different set of content.
So, an example of the desired map is like this:
/Home
-Latest News
-Core Team List
-Products
-Product 1
-Product 2
-Product 3
I found Sharepoint a whole new and strange world. I thought i'm good at learning, until i met Sharepoint. Everything seems very detailed and i'm living difficulties in finding useful information quickly. Because i have no Sharepoint background and i don't event know what i'm lookin' for.
Could you please help me by telling me how can i accomplish this or even just telling me the name of "thing" that i'm trying to accomplish.
Thank you in advance.
PS. Oh, by the way, I learned the word Branding in my search for the holy grail. I don't even know that the word fits or not...
I did try the method you post on other page (Restaurant review site in SharePoint) but unfortunately i couldn't succeed. I stucked at choosing what type of content type in the "Create Content Type" page at first and then tried some parent types but i couldn't get it show up in Sharepoint Designer 2007's New Sharepoint Content "Publishing Page" dialog.
So i tried something else.
At my homepage created a new Document Library of type "Web Part Page" called "Products". It created me a some sort of list whose all items are web pages. At this point i felt that i'm near to accomplish something at last.
Here are some questions i've collected: :)
I add two Announcements web part to different "Products" pages. When I add a new announcement to the list from one product page, it shows up in the other one too! How can I make their content only visible in page that the content created on?
*[Theming is a recurring theme in my posts]* Is it possible to change the view of each Product page at this setup so they have different design and color?
Thanks.
Check out the links I posted in the answer to this question for some links to SharePoint 101 tutorials online:
Restaurant review site in SharePoint
Given you're looking for 'branding' that will mean a custom Master Page. A Master Page is what will determine the overall layout of your SharePoint Web Application's pages. After creating a standard SharePoint application, connect with SharePoint Designer and play with that Master Page for a while until you get the hang of it.
In modifying or creating custom Master Pages, it is important to take note of all the controls (special ASP.NET server-side tags) in particular Content Place Holders; if you create your own Master Page and these are missing you're in a world of uninformative-error-message hurt.
You're going to want to create Lists ( http://office.microsoft.com/en-us/sharepointtechnology/HA011199881033.aspx ) to represent 'News' and 'Products'... for Products you may even want to create a Content Type.
Once you create 'News' and 'Products' lists, to see those lists of Products you'll want to make views and use List View Web Parts ( http://office.microsoft.com/en-us/help/HA100240521033.aspx ) to include those views in Pages... but at the subject of Web Parts this is probably getting a bit overwhelming so I'll stop here. Comment me if you'd like more.
Addendum
"Is is possible to show only categories of a document library in home page and documents of the selected category in another page?"
-> Yes, and there are several ways. I'd suggest you look into either defining a View for that list which filters based on the category field, then add List View Web Parts to your home page, or writing custom XSLT for the Content Query Web Part, and then add it to your home page. Writing the XSLT for he Content Query web part is a little more difficult, but using the List View has it's short comings in being not-as-configurable, much like this guy is finding out: No-code solution for calendar view of SharePoint news items
"But how can i change a list item to show its details as a whole new page with its own web parts and theme?"
-> Here's the kicker; in SharePoint, each Site you create has a special list for Pages, and each Page actually belongs to a Content Type.
So you can take any content type and turn it into a page; all you have to do is create a Page Layout for it, and add that Content Type to the list.
(So, an example. This is purely speculative; I'm not saying do this specifically, and you probably can't do it exactly as I describe it as I'm oversimplifying a little)
You create a Content Type 'Product', but you also decide 'Category' should be a Content Type too. So you create a content type for 'Catagory', and you give it a lookup column, which refers to items in the 'Product' List. You specify that the lookup can contain multiple items.
Now you want a Page where people can see a category, and all the Products which belong to it. You create a 'Page Layout' (an aspx file) for the 'Catagory' Content Type. In the Page Layout aspx file you can include web controls which render the Catagory's fields, such as 'title' and 'description' and you can probably even add one to render the 'Products' lookup field. (maybe you'll have to code it yourself)
I hope I haven't lost you.
Now that you've created a Page Layout for 'Catagory' you can add 'Catagory' to the Pages list/library and then create pages which represent Catagories, and when people edit those pages, they will also edit the Catagory.
More Addendum
If "Announcements" is a list, the web part you added was a list view web part, and so it just shows the contents of the list (which is independent of the product pages)
You'll want o specify filters of your view. I dunno if you can specify unique filters on the web part... but you can try :)
You might want to consider looking into The Content Query Web Part.
I don't fully understand your second question, but I get the feeling the answer is yes... what do you mean by "view"? You gotta be careful with the lingo; do you mean the Page Layout? or the List View Web Part? or the List View? or the Master Page? ...
you HAVE to check out Heather Solomon. She is the shiznat when it comes to sharepoint branding.
A good start would be using Sharepoint Designer.
Use SharePoint Designer to do your CSS work, particularly in discovering the CSS rules in play. DO NOT publish the finished work from SD; if you do, future Windows Updates may wipe out your files. Instead, deploy your customizations as a Feature. In MOSS 2007, you can add a single custom CSS file using Central Admin - this will then be applied AFTER core.CSS at runtime, To the best of my knowledge, this is the only practical way of doing this.
You need to indicate whether you are using WSS or MOSS. With WSS, you can use themes.

Resources