Click here to Skip to main content
Licence CPOL
First Posted 21 Dec 2011
Views 6,398
Bookmarked 1 time

How to Customize SharePoint List Content Display using Content Query Web Part

By | 21 Dec 2011 | Technical Blog
Here I'm going to describe how we can use Content Query Web Part to Style SharePoint List. Thus Assume we are having a  SharePoint List Called Projects with Following Fields. As you already knew default look and feel would be like below. Now I'm going to render this list in to format something li
A Technical Blog article. View original blog here.[^]

Here I'm going to describe how we can use Content Query Web Part to Style SharePoint List. Thus Assume we are having a  SharePoint List Called Projects with Following Fields.

image

As you already knew default look and feel would be like below.

image

Now I'm going to render this list in to format something like below.

image

Step One

First you need to define Some names for these place holders (Yeh., I know this do not make any sense to you. But don’t worry just do the step). Thus I'm going to define these columns as follows.

  • Title –> MyTitle
  • Logo –> MyLogo
  • Project Summary –> MySummary
  • Project Description –> MyDesc

Step Two

Now you want to define a XSL Style Sheet using these names. Therefore I'm going to use <table> to layout the list item as below.

<xsl:template name="MyStyle" match="Row[@Style='MyStyle']" mode="itemstyle">

<table border='1'>
    <tr>
        <td colspan="2"><h3><xsl:value-of select="@MyTitle" /></h3></td>
    </tr>
    <tr>
        <td>
            <img>
            <xsl:attribute name="src">
                <xsl:value-of select="@MyLogo" />
            </xsl:attribute>
            </img>
        </td>
        <td>
            <xsl:value-of disable-output-escaping="yes" select="@MySummary" />
         </td>
    </tr>
    <tr>
        <td colspan="2">
            <xsl:value-of disable-output-escaping="yes" select="@MyDesc" />
        </td>
    </tr>
    </table>
 
</xsl:template>

here i used XSLT to position the content inside my html tags. There are few attributes which are mandatory in this section. 

  • Name and Match should have equal names.
    • name =’X’ match=Row[@style=’X’]
  • mode = ‘itemstyle

now you have created XSLT which can given as a list style in the SharePoint.

Step Three

here we are going to put XSLT to the SharePoint.

First you need to open the SharePoint designer with the particular site. Then navigate to All Files and Style Library.

Here you can see many Folders inside. Now you have to go to XSL Style Sheet Folder.

Now you can see XSL files which are used by SharePoint to render it’s content. Here we are using ItemStyle.xsl for enable custom rendering.

 

Thus open this xsl file and put your xsl (when we created in step two) in the bottom of the xsl as follows.

Now difficult things are over.

Step Four

  • Add a Content Query Web Part
 
  • then go to edit web part and  and browse your list. ( here our list is Our Projects )
  • Then go to presentation section. and go little bit down. You can see style drop down.
  • Wow ..  Now you can see your style.
 
  • Ok the then select your custom xsl ( here MySample).
  • When you select you can see something like below.
  • Now you need to put actual list column names to these text boxes as follows.(Title column should use with the scope)
 
  • Then Click ok to Save. Now Every thing ok. You can see your new list rendering now.

Happy SharePoint :)

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Melick



Sri Lanka Sri Lanka

Member



Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
-- There are no messages in this forum --
Permalink | Advertise | Privacy | Mobile
Web02 | 2.5.120517.1 | Last Updated 21 Dec 2011
Article Copyright 2011 by Melick
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid