65.9K
CodeProject is changing. Read more.
Home

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

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0 vote)

Dec 21, 2011

CPOL

2 min read

viewsIcon

27327

How to use Content Query Web Part to Style SharePoint List

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 the following fields.

image

As you already knew, the 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 an 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 be 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 its content. Here we are using ItemStyle.xsl for enabling 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 the difficult things are over.

Step Four

  • Add a Content Query Web Part:

  • Then go to edit web part and browse your list (here our list is Our Projects):

  • Then go to presentation section and go a little bit down. You can see style drop down.
  • Wow... now you can see your style.

  • Ok, 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 everything is ok. You can see your new list rendering now.

Happy SharePoint! :)