<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dave Cavins &#187; Data View Web Part</title>
	<atom:link href="http://davecavins.com/tag/data-view-web-part/feed/" rel="self" type="application/rss+xml" />
	<link>http://davecavins.com</link>
	<description>web design, SharePoint customization &#38; random stuff</description>
	<lastBuildDate>Mon, 14 Jun 2010 18:48:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Displaying a rotating header image with caption</title>
		<link>http://davecavins.com/2010/01/displaying-a-rotating-header-image-with-caption/</link>
		<comments>http://davecavins.com/2010/01/displaying-a-rotating-header-image-with-caption/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 03:20:00 +0000</pubDate>
		<dc:creator>davecavins</dc:creator>
				<category><![CDATA[General SharePoint]]></category>
		<category><![CDATA[SharePoint Design]]></category>
		<category><![CDATA[captify]]></category>
		<category><![CDATA[Data View Web Part]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[slideshow]]></category>

		<guid isPermaLink="false">http://davecavins.com/?p=403</guid>
		<description><![CDATA[Nothing makes a site look good like nice images. Using a large header graphic on you Sharepoint site can help direct users to some important information or announcement. Many non-SharePoint images use this technique to add interest to their site and attract visitors. Doing something like this in SharePoint will make your site a lot [...]


Related posts:<ol><li><a href='http://davecavins.com/2010/04/anything-slider-in-sharepoint-update/' rel='bookmark' title='Permanent Link: Anything Slider in SharePoint &#8211; Update'>Anything Slider in SharePoint &#8211; Update</a></li>
<li><a href='http://davecavins.com/2010/04/switch-list-displays-with-jquery-and-css/' rel='bookmark' title='Permanent Link: Switch List Displays with JQuery and CSS'>Switch List Displays with JQuery and CSS</a></li>
<li><a href='http://davecavins.com/2009/12/css-tricks-anythingslider-in-sharepoint/' rel='bookmark' title='Permanent Link: CSS-Tricks AnythingSlider in SharePoint'>CSS-Tricks AnythingSlider in SharePoint</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Nothing makes a site look good like nice images.  Using a large header graphic on you Sharepoint site can help direct users to some important information or announcement. Many non-SharePoint images use this technique to add interest to their site and attract visitors.  Doing something like this in SharePoint will make your site a lot less &#8216;SharePointy&#8217; (my made up word for sites that look like SharePoint).  Here is how I did it.</p>
<div id="attachment_413" class="wp-caption aligncenter" style="width: 446px"><a href="http://davecavins.com/wp-content/uploads/2010/01/caption.gif"><img class="size-full wp-image-413" title="caption" src="http://davecavins.com/wp-content/uploads/2010/01/caption.gif" alt="" width="436" height="218" /></a><p class="wp-caption-text">Rotating images with captions</p></div>
<p><span id="more-403"></span></p>
<h1>Setup</h1>
<ol>
<li>Create an Image Library to hold your header images,  I named my list &#8216;Headers&#8217;. You can add additional fields to the list if you want but its not necessary for this to work.</li>
<li>Find the images you want to use and re-size them to all be the same dimensions, I used 600px x 200px.</li>
<li>Upload the images to the library and fill in the meta data for each one. Just make sure the &#8216;Title&#8217; field has something in it because that is what we will use for our captions.</li>
</ol>
<h1>The hard part</h1>
<p>Ok really its not hard at all.</p>
<ol>
<li> In SharePoint Designer and add a data view web part to the page.  It does not matter what fields you show in the DVWP the important part is that it is pulling its contents from the Image Library you created.</li>
<li>Switch to &#8216;split view&#8217; and find the  tag. It should be right after the  tag in the code. Right click on the  tag and choose &#8216;Select&#8217; tag. Press delete.
<div id="attachment_408" class="wp-caption aligncenter" style="width: 170px"><a href="http://davecavins.com/wp-content/uploads/2010/01/codeview.jpg"><img class="size-full wp-image-408" title="codeview" src="http://davecavins.com/wp-content/uploads/2010/01/codeview.jpg" alt="" width="160" height="31" /></a><p class="wp-caption-text">Split view</p></div>
<div id="attachment_412" class="wp-caption aligncenter" style="width: 103px"><a href="http://davecavins.com/wp-content/uploads/2010/01/xsl.jpg"><img class="size-full wp-image-412" title="xsl" src="http://davecavins.com/wp-content/uploads/2010/01/xsl.jpg" alt="" width="93" height="71" /></a><p class="wp-caption-text">XSL tag</p></div>
<p><div id="attachment_411" class="wp-caption aligncenter" style="width: 213px"><a href="http://davecavins.com/wp-content/uploads/2010/01/selecttag1.jpg"><img class="size-full wp-image-411" title="selecttag" src="http://davecavins.com/wp-content/uploads/2010/01/selecttag1.jpg" alt="" width="203" height="126" /></a><p class="wp-caption-text">Select Tag</p></div></li>
<li>Paste this code where the  tag used to be.</li>
<pre class="brush: plain;">
&lt;XSL&gt;
&lt;xsl:stylesheet xmlns:x=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:d=&quot;http://schemas.microsoft.com/sharepoint/dsp&quot; version=&quot;1.0&quot; exclude-result-prefixes=&quot;xsl msxsl ddwrt&quot; xmlns:ddwrt=&quot;http://schemas.microsoft.com/WebParts/v2/DataView/runtime&quot; xmlns:asp=&quot;http://schemas.microsoft.com/ASPNET/20&quot; xmlns:__designer=&quot;http://schemas.microsoft.com/WebParts/v2/DataView/designer&quot; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; xmlns:msxsl=&quot;urn:schemas-microsoft-com:xslt&quot; xmlns:SharePoint=&quot;Microsoft.SharePoint.WebControls&quot; xmlns:ddwrt2=&quot;urn:frontpage:internal&quot;&gt;
	&lt;xsl:output method=&quot;html&quot; indent=&quot;no&quot;/&gt;
	&lt;xsl:decimal-format NaN=&quot;&quot;/&gt;
	&lt;xsl:param name=&quot;dvt_apos&quot;&gt;'&lt;/xsl:param&gt;
	&lt;xsl:variable name=&quot;dvt_1_automode&quot;&gt;0&lt;/xsl:variable&gt;
	&lt;xsl:template match=&quot;/&quot; xmlns:x=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:d=&quot;http://schemas.microsoft.com/sharepoint/dsp&quot; xmlns:asp=&quot;http://schemas.microsoft.com/ASPNET/20&quot; xmlns:__designer=&quot;http://schemas.microsoft.com/WebParts/v2/DataView/designer&quot; xmlns:SharePoint=&quot;Microsoft.SharePoint.WebControls&quot;&gt;
		&lt;xsl:call-template name=&quot;dvt_1&quot;/&gt;
	&lt;/xsl:template&gt;
	&lt;xsl:template name=&quot;dvt_1&quot;&gt;
		&lt;xsl:variable name=&quot;dvt_StyleName&quot;&gt;Table&lt;/xsl:variable&gt;
		&lt;xsl:variable name=&quot;Rows&quot; select=&quot;/dsQueryResponse/Rows/Row&quot;/&gt;
		&lt;xsl:variable name=&quot;dvt_RowCount&quot; select=&quot;count($Rows)&quot; /&gt;
		&lt;xsl:variable name=&quot;IsEmpty&quot; select=&quot;$dvt_RowCount = 0&quot; /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js&quot;&gt;&lt;/script&gt; &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;sample.css?t=1&quot; /&gt;
	&lt;script type=&quot;text/javascript&quot; src=&quot;captify.tiny.js&quot;&gt;&lt;/script&gt; &lt;script type=&quot;text/javascript&quot;&gt;
this.randomtip = function(){
	var pause = 9000; // define the pause for each tip (in milliseconds)
	var length = $(&amp;quot;#headers li&amp;quot;).length;
	var temp = -1;
	this.getRan = function(){
		var ran = Math.floor(Math.random()*length) + 1;
		return ran;
	};
	this.show = function(){
		var ran = getRan();
		while (ran == temp){
			ran = getRan();
		};
		temp = ran;
		$(&amp;quot;#headers li&amp;quot;).hide();
		$(&amp;quot;#headers li:nth-child(&amp;quot; + ran + &amp;quot;)&amp;quot;).fadeIn(&quot;slow&quot;);
	};
	show(); setInterval(show,pause);
};
&lt;/script&gt; &lt;script type=&quot;text/javascript&quot;&gt;
	$(function(){
		$(&amp;apos;img.captify&amp;apos;).captify({});
	});
	$(document).ready(function(){
	randomtip();
});
	&lt;/script&gt; &lt;style type=&quot;text/css&quot;&gt;
#headers, #headers li{
	margin:0;
	padding:0;
	list-style:none;
	}
#headers li img{
	display:none; /* hide the items at first only */
	}
&lt;/style&gt;
&lt;ul id=&quot;headers&quot;&gt;
	&lt;xsl:call-template name=&quot;dvt_1.body&quot;&gt;
	&lt;xsl:with-param name=&quot;Rows&quot; select=&quot;$Rows&quot;/&gt;
	&lt;/xsl:call-template&gt;
&lt;/ul&gt;
	&lt;/xsl:template&gt;
	&lt;xsl:template name=&quot;dvt_1.body&quot;&gt;
		&lt;xsl:param name=&quot;Rows&quot;/&gt;
		&lt;xsl:for-each select=&quot;$Rows&quot;&gt;
			&lt;xsl:call-template name=&quot;dvt_1.rowview&quot; /&gt;
		&lt;/xsl:for-each&gt;
	&lt;/xsl:template&gt;
	&lt;xsl:template name=&quot;dvt_1.rowview&quot;&gt;
&lt;li&gt;&lt;img border=&quot;0&quot; src=&quot;{@FileRef}&quot; alt=&quot;{@Title}&quot; class=&quot;captify&quot; title=&quot;{@Title}&quot;/&gt;&lt;/li&gt;
&lt;/xsl:template&gt;&lt;/xsl:stylesheet&gt;&lt;/XSL&gt;
</pre>
<h1>How it works</h1>
<p>This code displays the items from our list in an unordered list and then using the <a href="http://cssglobe.com/post/6023/simple-way-to-random-display-or-rotate-content-using">jQuery method explained here</a> it randomly chooses one to display. Initially they are all hidden by this css.</p>
<pre class="brush: css;">
&lt;style type=&quot;text/css&quot;&gt;
#headers, #headers li{
	margin:0;
	padding:0;
	list-style:none;
	}
#headers li img{display:none; /* hide the items at first only */}
&lt;/style&gt;
</pre>
<p>You can remove this from the xsl code and put it in your own external style sheet if you want. If you look at <a href="http://cssglobe.com/post/6023/simple-way-to-random-display-or-rotate-content-using">the article on CSS Glob</a>e where I got the code from there is also a way to make it show images randomly on page refresh.To diplay the captions I am using the <a rel="no-follow" href="http://ignati.com/captify-jquery-plugin-to-display-image-captions/">Captify jQuery plugin</a>. If you notice in the xsl I am adding a class of &#8216;captify&#8217; to each image, this is all the plugin needs to work. We just need to reference the plugin file and call the function like this:</p>
<pre class="brush: jscript;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function(){$('img.captify').captify({});
	});  //show captions on the images
	$(document).ready(function(){randomtip();
});  //display the random images
	&lt;/script&gt;
</pre>
<h1>In closing</h1>
<p>I have seen other methods of showing random content in the Data View Web Part such as this one:</p>
<pre class="brush: plain;">
&lt;xsl:variable name=&quot;Rows&quot; select=&quot;/dsQueryResponse/Rows/Row[@ID=ddwrt:Random(1,count(//Rows/Row))]&quot;/&gt;
</pre>
<p>However when I experimented with it there were issues with it choosing id&#8217;s that were not in the list and therefore nothing would display. If any one knows of an alternative solution please let me know.Overall this can be a very powerful tool for sharing information with your users. With a few small edits to the code and the list you can easily make each slide link to a page or a list item on your site.</p>
<p>If you have trouble getting this working on your site make sure the references to jQuery and the Captify script are correct, if they are right and you still have issues feel free to post a comment and I&#8217;ll do what I can to help out.</p>
<h1>Resources</h1>
</ol>
<ul>
<li><a rel="no-follow" href="http://www.jquery.com">jQuery</a></li>
<li><a rel="no-follow" href="http://github.com/caius/jquery-captify">Captify Plugin Download</a></li>
<li> <a rel="no-follow" href="http://cssglobe.com/post/6023/simple-way-to-random-display-or-rotate-content-using">Simple Way to Random Display or Rotate Content Using JavaScript and CSS</a></li>
</ul>


<p>Related posts:<ol><li><a href='http://davecavins.com/2010/04/anything-slider-in-sharepoint-update/' rel='bookmark' title='Permanent Link: Anything Slider in SharePoint &#8211; Update'>Anything Slider in SharePoint &#8211; Update</a></li>
<li><a href='http://davecavins.com/2010/04/switch-list-displays-with-jquery-and-css/' rel='bookmark' title='Permanent Link: Switch List Displays with JQuery and CSS'>Switch List Displays with JQuery and CSS</a></li>
<li><a href='http://davecavins.com/2009/12/css-tricks-anythingslider-in-sharepoint/' rel='bookmark' title='Permanent Link: CSS-Tricks AnythingSlider in SharePoint'>CSS-Tricks AnythingSlider in SharePoint</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://davecavins.com/2010/01/displaying-a-rotating-header-image-with-caption/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS-Tricks AnythingSlider in SharePoint</title>
		<link>http://davecavins.com/2009/12/css-tricks-anythingslider-in-sharepoint/</link>
		<comments>http://davecavins.com/2009/12/css-tricks-anythingslider-in-sharepoint/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 20:10:42 +0000</pubDate>
		<dc:creator>davecavins</dc:creator>
				<category><![CDATA[SharePoint Design]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[CSS-Tricks]]></category>
		<category><![CDATA[Data View Web Part]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[xsl]]></category>

		<guid isPermaLink="false">http://davecavins.com/?p=366</guid>
		<description><![CDATA[Chris Coyier from CSS-Tricks built this really cool jQuery plugin that creates a content slider that will support any regular HTML in the slides. This is cool because many sliders I have used had limitations on what could be on the slides and did not offer many of the featuers the AnythingSlider does. Setup To [...]


Related posts:<ol><li><a href='http://davecavins.com/2010/04/anything-slider-in-sharepoint-update/' rel='bookmark' title='Permanent Link: Anything Slider in SharePoint &#8211; Update'>Anything Slider in SharePoint &#8211; Update</a></li>
<li><a href='http://davecavins.com/2010/01/displaying-a-rotating-header-image-with-caption/' rel='bookmark' title='Permanent Link: Displaying a rotating header image with caption'>Displaying a rotating header image with caption</a></li>
<li><a href='http://davecavins.com/2009/05/dynamic-drive-featured-content-slider-v24-in-sharepoint/' rel='bookmark' title='Permanent Link: Dynamic Drive&#8217;s Featured Content Slider in Sharepoint'>Dynamic Drive&#8217;s Featured Content Slider in Sharepoint</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Chris Coyier from <a rel="nofollow" href="http://css-tricks.com/">CSS-Tricks</a> built this <a rel="nofollow" href="http://css-tricks.com/anythingslider-jquery-plugin/">really cool jQuery plugin</a> that creates a content slider that will support any regular HTML in the slides. This is cool because many sliders I have used had limitations on what could be on the slides and did not offer many of the featuers the AnythingSlider does.</p>
<div id="attachment_369" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-369" title="slider" src="http://davecavins.com/wp-content/uploads/2009/12/slider.gif" alt="AnythingSlider in SharePoint" width="550" height="297" /><p class="wp-caption-text">AnythingSlider in SharePoint</p></div>
<h3>Setup</h3>
<p>To get this working in SharePoint you will need to make sure you have a reference to jQuery in the page somewhere as well as a list for the slider to read from. For my example I am using an out of the box annoucements list.  You will also need the files for the plugin <a rel="nofollow" href="http://css-tricks.com/examples/AnythingSlider.zip" title="Anything Slider Download">download the anythingSlider plugin from css-tricks.com.</a></p>
<ul>
<li>In SharePoint Designer add a dataview webpart to the page with any field from your annoucements list.</li>
<li>Switch to code view and find the first &lt;xsl&gt; tag. It should be right after the closing &lt;DatasSources&gt; tag. </li>
<li>Right click on the tag and choose &#8220;Select Tag&#8221;. Press delete, don&#8217;t worry we will be adding in our own xsl.</li>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-368" title="xsl" src="http://davecavins.com/wp-content/uploads/2009/12/xsl.jpg" alt="Select the auto generated xsl" width="218" height="216" /></p>
<li>Paste the following xsl into the page where you deleted the code.</li>
<pre class="brush: xml;">
&lt;Xsl&gt;
&lt;xsl:stylesheet xmlns:x=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:d=&quot;http://schemas.microsoft.com/sharepoint/dsp&quot; version=&quot;1.0&quot; exclude-result-prefixes=&quot;xsl msxsl ddwrt&quot; xmlns:ddwrt=&quot;http://schemas.microsoft.com/WebParts/v2/DataView/runtime&quot; xmlns:asp=&quot;http://schemas.microsoft.com/ASPNET/20&quot; xmlns:__designer=&quot;http://schemas.microsoft.com/WebParts/v2/DataView/designer&quot; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; xmlns:msxsl=&quot;urn:schemas-microsoft-com:xslt&quot; xmlns:SharePoint=&quot;Microsoft.SharePoint.WebControls&quot; xmlns:ddwrt2=&quot;urn:frontpage:internal&quot;&gt;
	&lt;xsl:output method=&quot;html&quot; indent=&quot;no&quot;/&gt;
	&lt;xsl:decimal-format NaN=&quot;&quot;/&gt;
	&lt;xsl:param name=&quot;dvt_apos&quot;&gt;&amp;apos;&lt;/xsl:param&gt;
	&lt;xsl:variable name=&quot;dvt_1_automode&quot;&gt;0&lt;/xsl:variable&gt;
	&lt;xsl:template match=&quot;/&quot; xmlns:x=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:d=&quot;http://schemas.microsoft.com/sharepoint/dsp&quot; xmlns:asp=&quot;http://schemas.microsoft.com/ASPNET/20&quot; xmlns:__designer=&quot;http://schemas.microsoft.com/WebParts/v2/DataView/designer&quot; xmlns:SharePoint=&quot;Microsoft.SharePoint.WebControls&quot;&gt;
		&lt;xsl:call-template name=&quot;dvt_1&quot;/&gt;
	&lt;/xsl:template&gt;
	&lt;xsl:template name=&quot;dvt_1&quot;&gt;
		&lt;xsl:variable name=&quot;Rows&quot; select=&quot;/dsQueryResponse/Rows/Row&quot; /&gt;
		    &lt;link rel=&quot;stylesheet&quot; href=&quot;css/page.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;
    &lt;link rel=&quot;stylesheet&quot; href=&quot;css/slider.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.easing.1.2.js&quot;&gt;&lt;/script&gt; &lt;script src=&quot;js/jquery.anythingslider.js&quot; type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt; &lt;script type=&quot;text/javascript&quot;&gt;
        function formatText(index, panel) {
		  return index + &amp;quot;&amp;quot;;
	    }
        $(function () {
            $(&amp;apos;.anythingSlider&amp;apos;).anythingSlider({
                easing: &amp;quot;easeInOutExpo&amp;quot;,
                autoPlay: true,
                delay: 3000,
                startStopped: false,
                animationTime: 600,
                hashTags: true,
                buildNavigation: true,
         	pauseOnHover: true,
     	startText: &amp;quot;Go&amp;quot;,
     	stopText: &amp;quot;Stop&amp;quot;,
	navigationFormatter: formatText
            });
            $(&amp;quot;#slide-jump&amp;quot;).click(function(){
                $(&amp;apos;.anythingSlider&amp;apos;).anythingSlider(6);
            });
        });
    &lt;/script&gt;
&lt;div class=&quot;anythingSlider&quot;&gt;
	&lt;div class=&quot;wrapper&quot;&gt;
		&lt;ul&gt;
		&lt;xsl:call-template name=&quot;dvt_1.body&quot;&gt;
			&lt;xsl:with-param name=&quot;Rows&quot; select=&quot;$Rows&quot; /&gt;
			&lt;/xsl:call-template&gt;
		&lt;/ul&gt;
		    &lt;/div&gt;
        &lt;/div&gt;
	&lt;/xsl:template&gt;
	&lt;xsl:template name=&quot;dvt_1.body&quot;&gt;
		&lt;xsl:param name=&quot;Rows&quot; /&gt;
		&lt;xsl:for-each select=&quot;$Rows&quot;&gt;
			&lt;xsl:call-template name=&quot;dvt_1.rowview&quot; /&gt;
		&lt;/xsl:for-each&gt;
	&lt;/xsl:template&gt;
	&lt;xsl:template name=&quot;dvt_1.rowview&quot;&gt;
		&lt;li&gt;
		&lt;div class=&quot;textSlide&quot;&gt;
&lt;!-- display the item title and a link to the item --&gt;
&lt;h3&gt;&lt;a href=&quot;/{@FileDirRef}/DispForm.aspx?ID={@ID}&quot; title=&quot;{@Title}&quot;&gt;&lt;xsl:value-of select=&quot;@Title&quot; /&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;!-- display the body of the item  --&gt;
	&lt;xsl:value-of select=&quot;@Body&quot; disable-output-escaping=&quot;yes&quot; /&gt;
	&lt;/div&gt;
	&lt;/li&gt;&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
&lt;/Xsl&gt;
</pre>
<li><strong>Important:</strong> Adjust the links on the code so that point to your local copies of the css easing and plugin files.</li>
</ul>
<h3>Notes</h3>
<p> I made a few small changes in the css file to make things work better with SharePoint.  In page.css file I deleted several of the classes so they would not interfere with SharePoint&#8217;s styles.  In the xsl I used a div with a class of  .textslide to wrap the content so I had to change that in page.css as well.  To keep long annoucements from breaking the design I set the overflow on the .textslide div to hidden. Below is the code I used in page.css.  </p>
<pre class="brush: css;">
/*hide content that is too long */
.textSlide { padding: 10px 30px; overflow:hidden; }
.textSlide h3  { font: 20px Georgia, Serif; margin-bottom:12px; }
.textSlide h4  { text-transform: uppercase; font: 15px Georgia, Serif; margin: 10px 0; }
.textSlide ul  { list-style: disc; margin: 0 0 0 25px; }
.textSlide ul li  { display: list-item; }
</pre>
<p> I did not make any changes to slider.css. It may be easier to just combine the tow files to keep things simple and reduce page load times.</p>
<h3>Conclusion</h3>
<p>The AnythingSlider plugin is lightweight, powerful and easy to customize.  Adding this type of functionality that is common on regular websites to a SharePoint site can help guide users to important information and of course make your site &#8216;cooler&#8217; than the average SharePoint site. </p>
<p>The code above just shows all the items in the list but once you have it working it is easy to add your own sort/filter parameters to the data view so only certain items are shown. </p>
<p>The slider could also be implemented to run off of the SharePoint list web service <a href="http://davecavins.com/2009/07/annoucement-slider-using-web-services/" target="_blank" title="Annoucements Slider using SP Web Services">the same way I did in this post</a>.  If you have any questions or comments feel free to post.</p>


<p>Related posts:<ol><li><a href='http://davecavins.com/2010/04/anything-slider-in-sharepoint-update/' rel='bookmark' title='Permanent Link: Anything Slider in SharePoint &#8211; Update'>Anything Slider in SharePoint &#8211; Update</a></li>
<li><a href='http://davecavins.com/2010/01/displaying-a-rotating-header-image-with-caption/' rel='bookmark' title='Permanent Link: Displaying a rotating header image with caption'>Displaying a rotating header image with caption</a></li>
<li><a href='http://davecavins.com/2009/05/dynamic-drive-featured-content-slider-v24-in-sharepoint/' rel='bookmark' title='Permanent Link: Dynamic Drive&#8217;s Featured Content Slider in Sharepoint'>Dynamic Drive&#8217;s Featured Content Slider in Sharepoint</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://davecavins.com/2009/12/css-tricks-anythingslider-in-sharepoint/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Limitations of displaying attachments in DVWP</title>
		<link>http://davecavins.com/2009/09/limitations-of-displaying-attachments-in-dvwp/</link>
		<comments>http://davecavins.com/2009/09/limitations-of-displaying-attachments-in-dvwp/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 14:51:06 +0000</pubDate>
		<dc:creator>davecavins</dc:creator>
				<category><![CDATA[General SharePoint]]></category>
		<category><![CDATA[attachments]]></category>
		<category><![CDATA[Data View Web Part]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[xsl]]></category>

		<guid isPermaLink="false">http://davecavins.com/?p=213</guid>
		<description><![CDATA[So on a recent project I needed to show a link to the attachment for each item in a list. A quick Google search found How to show Attachments with DataFormWebPart from Dario Martirani Paolillo&#8217;s Web Log. I was excited because it seemed to work well and was very easy to implement.  As I was about [...]


Related posts:<ol><li><a href='http://davecavins.com/2009/12/displaying-document-titles-as-links/' rel='bookmark' title='Permanent Link: Displaying document titles as links.'>Displaying document titles as links.</a></li>
<li><a href='http://davecavins.com/2010/01/displaying-a-rotating-header-image-with-caption/' rel='bookmark' title='Permanent Link: Displaying a rotating header image with caption'>Displaying a rotating header image with caption</a></li>
<li><a href='http://davecavins.com/2009/12/updating-the-people-picker/' rel='bookmark' title='Permanent Link: Updating the People Picker'>Updating the People Picker</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://davecavins.com/wp-content/uploads/2009/09/Paper-Clip-128x128.png"><img class="alignright size-full wp-image-214" title="attachments" src="http://davecavins.com/wp-content/uploads/2009/09/Paper-Clip-128x128.png" alt="attachments" width="128" height="128" /></a>So on a recent project I needed to show a link to the attachment for each item in a list. A quick Google search found <a href="http://blogs.msdn.com/dmp/archive/2009/01/21/how-to-show-attachments-with-dataformwebpart.aspx" target="_blank">How to show Attachments with DataFormWebPart</a> from Dario Martirani Paolillo&#8217;s Web Log. I was excited because it seemed to work well and was very easy to implement. </p>
<p>As I was about to finish up the project I was given some new requirements which meant that there would be two Data View Web Parts on the page and both would need to show the attachments link.  This is when the issues started.  When you have two web parts on the page using the display attachments code the second one will just show &#8220;[value of field: Attachments]&#8221; instead of the actual link.  If anyone knows a good solution for this issue please post a comment.</p>
<p>I want to avoid using something like this <a href="http://www.endusersharepoint.com/2009/02/12/jquery-for-everyone-linking-the-attachment-icon/" target="_blank">jQuery solution by Paul Grenier</a> simply because of the performance issues it will create.</p>


<p>Related posts:<ol><li><a href='http://davecavins.com/2009/12/displaying-document-titles-as-links/' rel='bookmark' title='Permanent Link: Displaying document titles as links.'>Displaying document titles as links.</a></li>
<li><a href='http://davecavins.com/2010/01/displaying-a-rotating-header-image-with-caption/' rel='bookmark' title='Permanent Link: Displaying a rotating header image with caption'>Displaying a rotating header image with caption</a></li>
<li><a href='http://davecavins.com/2009/12/updating-the-people-picker/' rel='bookmark' title='Permanent Link: Updating the People Picker'>Updating the People Picker</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://davecavins.com/2009/09/limitations-of-displaying-attachments-in-dvwp/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Filter Lists by Date Range</title>
		<link>http://davecavins.com/2009/09/filter-by-date-range/</link>
		<comments>http://davecavins.com/2009/09/filter-by-date-range/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 14:06:42 +0000</pubDate>
		<dc:creator>davecavins</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Data View Web Part]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://davecavins.com/?p=172</guid>
		<description><![CDATA[On a recent project one of the requirements was that users be able to filter a list by a date range.  To this I tried using two date filter webparts connected to a data view webpart.  A detailed description of how to set this up can be found here.  This solution worked well enough but there was a page [...]


Related posts:<ol><li><a href='http://davecavins.com/2010/03/adding-comments-to-a-list-part-1/' rel='bookmark' title='Permanent Link: Adding Comments to a List Part 1'>Adding Comments to a List Part 1</a></li>
<li><a href='http://davecavins.com/2010/03/adding-comments-to-a-list-part-2/' rel='bookmark' title='Permanent Link: Adding Comments to a List Part 2'>Adding Comments to a List Part 2</a></li>
<li><a href='http://davecavins.com/2009/12/updating-the-people-picker/' rel='bookmark' title='Permanent Link: Updating the People Picker'>Updating the People Picker</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>On a recent project one of the requirements was that users be able to filter a list by a date range.  To this I tried using two date filter webparts connected to a data view webpart.  A detailed description of how to set this up can be <a title="Filter between two dates (date range) with the Data view Webpart " href="http://yanlinglei.blogspot.com/2008/11/filter-between-two-dates-date-range.html" target="_blank">found here</a>.  This solution worked well enough but there was a page refresh after the user entered each date, so the user enters the first date (page refresh) user enters second date (page refresh again) and finally they get the results.  This annoyed me, I wanted to remove the extra page loads so I tried several things and this is what I finally came up with.</p>
<h3>Setup</h3>
<p>Using a content editor webpart build the form elements needed to collect the dates, two inputs and a search button.  Give each input a unique ID. Here is the code I used.</p>
<pre class="brush: jscript;">
&lt;script language=&quot;JavaScript&quot;&gt;
function submitForm()
{
var startDate = document.getElementById('startDate').value;
var endDate = document.getElementById('endDate').value;
window.parent.location=&quot;default.aspx?T1=&quot; + startDate + '&amp;T2=' + endDate;
}
&lt;/script&gt;
&lt;p&gt;&lt;div id=&quot;dateDiv&quot; style=&quot;display:none;&quot; class=&quot;filterBox&quot;&gt;
&lt;h4&gt;Date Search&lt;/h4&gt;
        Between
&lt;input name=&quot;startDate&quot; type=&quot;text&quot; id=&quot;startDate&quot; value=&quot;&quot; size=&quot;15&quot; class=&quot;dateformat-Y-ds-m-ds-d&quot; value=&quot;&quot;&gt;
and
&lt;input name=&quot;endDate&quot; type=&quot;text&quot; id=&quot;endDate&quot; value=&quot;&quot; size=&quot;15&quot; class=&quot;dateformat-Y-ds-m-ds-d&quot; value=&quot;&quot;&gt;
 YYYY-MM-DD
&lt;input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;Go&quot;  onClick=&quot;submitForm();this.disabled=true;&quot;&gt;
&lt;/div&gt;
</pre>
<p>The class names are used to activate the date picker script but can be whatever you want. I used this <a href="http://www.frequency-decoder.com/demo/date-picker-v4/">date picker script from Frequecy Decoder</a></p>
<p>The submitForm() function simply takes the values from the inputs and adds them as query string variables at the end of the URL. We can now use these values to filter the list.</p>
<h3>Filtering the Data View Web part</h3>
<p>To filter the content of the DVWP based on the date we have to setup some parameters for the start and end dates.   Under &#8216;Common Data View Tasks&#8217; just choose &#8216;Parameters&#8217; for both the start and end date set the source as &#8216;Query String&#8217;. The query string variable will be whatever you defined in the JavaScript so in this case they are T1 and T2. Set the default value for the start date to some date impossibly far in the past and for the end date set it to something like the year 3000. This will ensure that the list will show all records if no values are passed for the start and end dates.</p>
<p><a href="http://davecavins.com/wp-content/uploads/2009/09/parameters.jpg"><img class="size-full wp-image-192 alignnone" title="parameters" src="http://davecavins.com/wp-content/uploads/2009/09/parameters.jpg" alt="parameters" width="506" height="338" /></a></p>
<p>Then all you have to do is setup your filter based on the parameters from the query string.</p>
<p><a href="http://davecavins.com/wp-content/uploads/2009/09/filter.jpg"><img class="aligncenter size-full wp-image-193" title="filter" src="http://davecavins.com/wp-content/uploads/2009/09/filter.jpg" alt="filter" width="446" height="269" /></a></p>
<p>You&#8217;re done.</p>
<h3>Things to remember</h3>
<p>The date has to be passed in YYYY-MM-DD format in order to work.</p>
<p>If the detault values for your start and end date parameters are not set high / low enough all records will not display when not date range is entered.</p>


<p>Related posts:<ol><li><a href='http://davecavins.com/2010/03/adding-comments-to-a-list-part-1/' rel='bookmark' title='Permanent Link: Adding Comments to a List Part 1'>Adding Comments to a List Part 1</a></li>
<li><a href='http://davecavins.com/2010/03/adding-comments-to-a-list-part-2/' rel='bookmark' title='Permanent Link: Adding Comments to a List Part 2'>Adding Comments to a List Part 2</a></li>
<li><a href='http://davecavins.com/2009/12/updating-the-people-picker/' rel='bookmark' title='Permanent Link: Updating the People Picker'>Updating the People Picker</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://davecavins.com/2009/09/filter-by-date-range/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>A Faster jQuery Preview Pane</title>
		<link>http://davecavins.com/2009/07/a-faster-jquery-preview-pane/</link>
		<comments>http://davecavins.com/2009/07/a-faster-jquery-preview-pane/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 19:49:50 +0000</pubDate>
		<dc:creator>davecavins</dc:creator>
				<category><![CDATA[General SharePoint]]></category>
		<category><![CDATA[SharePoint Design]]></category>
		<category><![CDATA[Data View Web Part]]></category>
		<category><![CDATA[Endusersharepoint]]></category>
		<category><![CDATA[Gabe Hilado]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://davecavins.com/?p=144</guid>
		<description><![CDATA[A while back there was a post on EndUserSharePoint.com by Paul Grenier that described how to use jQuery and the CEWP to make a preview pane.  I thought it was a very nice solution and worked better than the out of the box preview pane SharePoint uses.   Too Much Code The only issue is the preview [...]


Related posts:<ol><li><a href='http://davecavins.com/2010/04/switch-list-displays-with-jquery-and-css/' rel='bookmark' title='Permanent Link: Switch List Displays with JQuery and CSS'>Switch List Displays with JQuery and CSS</a></li>
<li><a href='http://davecavins.com/2010/03/adding-comments-to-a-list-part-2/' rel='bookmark' title='Permanent Link: Adding Comments to a List Part 2'>Adding Comments to a List Part 2</a></li>
<li><a href='http://davecavins.com/2009/11/sharepoint-vertical-news-ticker/' rel='bookmark' title='Permanent Link: SharePoint Vertical News Ticker'>SharePoint Vertical News Ticker</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>A while back there was <a href="http://www.endusersharepoint.com/?p=1223" target="_blank">a post on EndUserSharePoint.com</a> by Paul Grenier that described how to use jQuery and the CEWP to make a preview pane.  I thought it was a very nice solution and worked better than the out of the box preview pane SharePoint uses.  </p>
<h3>Too Much Code</h3>
<p>The only issue is the preview pane solution is that in environments with slow internet connections the preview pane will be almost as slow as if the user actually broswed to the display form for the item.</p>
<p>Although its done through AJAX jQuery is still having to load the whole DispForm.aspx and then only displaying the contents of  a specific element.  DispForm.aspx when rendered through the borwser (like most pages in SharePoint) is very code heavy with over 700 lines of code ( An Announcement List item). Reducing the amount of code jQuery has to load from the diplay form will decrease load times and make everyone happy.</p>
<h3>Faster</h3>
<p><a href="http://www.spdeveloper.com" target="_blank">Gabe Hilado</a> and I decided to try to make it faster. The simple solution is to make your own diplay form in SharePoint Designer. First we tried creating a blank .aspx page and putting the list view webpart on it.  The reduced the amount of code on the page but I wanted it to be even faster.</p>
<p><span id="more-144"></span>The next step was to use a dataview webpart only displaying the fields we needed for the preview. The result was a page with under 100 lines of code (varies based on the item legnth). </p>
<p>Below is the modified javascript.</p>
<pre class="brush: jscript;">
&lt;script src=&lt;a href=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js&quot;&gt;http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js&lt;/a&gt;&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
function handleError() { //fn needed for IE
return true;
}
function jLoadMe(t) {//load content

$(&quot;#jLoadMe&quot;).load(t+&quot; .ms-formtable&quot;, function(result,status,xhr) {
$(&quot;#jLoadMe h3&quot;).css(&quot;font-size&quot;,&quot;8pt&quot;);
});
}
function initjLoadMe() {//initialize page
var arrayList = $(&quot;a[href*='DispForm.aspx']&quot;);
$.each(arrayList, function(i,e){
var t = $(e).attr(&quot;href&quot;);
t = t.replace('DispForm.aspx','empty.aspx');
$(e).hover(function() {jLoadMe(t)});
});
}
$(function() {
window.onerror = handleError; //needed for IE
initjLoadMe();
});
function jLoadEdit(t) {//load content
$(&quot;#jLoadMe&amp;quot;).load(t+&quot; .editForm&quot;,  function(result,status,xhr) {
$(&quot;#jLoadMe h3&quot;).css(&quot;font-size&quot;,&quot;8pt&quot;);

});
}
&lt;/script&gt;
&lt;div id=&quot;jLoadMe&quot; class=&quot;content&quot;&gt;&lt;/div&gt;
</pre>
<h3>What&#8217;s going on</h3>
<p>The code has been modified so that onhover instead of calling DispForm.aspx it calls empy.aspx. However when the item title is clicked the browser will nagivate to the traditional DispForm.aspx.</p>


<p>Related posts:<ol><li><a href='http://davecavins.com/2010/04/switch-list-displays-with-jquery-and-css/' rel='bookmark' title='Permanent Link: Switch List Displays with JQuery and CSS'>Switch List Displays with JQuery and CSS</a></li>
<li><a href='http://davecavins.com/2010/03/adding-comments-to-a-list-part-2/' rel='bookmark' title='Permanent Link: Adding Comments to a List Part 2'>Adding Comments to a List Part 2</a></li>
<li><a href='http://davecavins.com/2009/11/sharepoint-vertical-news-ticker/' rel='bookmark' title='Permanent Link: SharePoint Vertical News Ticker'>SharePoint Vertical News Ticker</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://davecavins.com/2009/07/a-faster-jquery-preview-pane/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
