<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>sharepoint-2010-caml-groupby-count &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/sharepoint-2010-caml-groupby-count/</link>
	<description>Feed of posts on WordPress.com tagged "sharepoint-2010-caml-groupby-count"</description>
	<pubDate>Wed, 22 May 2013 04:08:12 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[CAML query for Group by count and data]]></title>
<link>http://tarunaverma.wordpress.com/2012/03/18/caml-query-for-group-by-count-and-data/</link>
<pubDate>Sun, 18 Mar 2012 13:26:59 +0000</pubDate>
<dc:creator>tarunaverma</dc:creator>
<guid>http://tarunaverma.wordpress.com/2012/03/18/caml-query-for-group-by-count-and-data/</guid>
<description><![CDATA[Company Category Product Name Microsoft Developer Visual Studio Microsoft Consumer Windows Microsoft]]></description>
<content:encoded><![CDATA[<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="205">Company</td>
<td valign="top" width="205">Category</td>
<td valign="top" width="205">Product Name</td>
</tr>
<tr>
<td valign="top" width="205">Microsoft</td>
<td valign="top" width="205">Developer</td>
<td valign="top" width="205">Visual Studio</td>
</tr>
<tr>
<td valign="top" width="205">Microsoft</td>
<td valign="top" width="205">Consumer</td>
<td valign="top" width="205">Windows</td>
</tr>
<tr>
<td valign="top" width="205">Microsoft</td>
<td valign="top" width="205">Enterprise</td>
<td valign="top" width="205">SharePoint 2010</td>
</tr>
<tr>
<td valign="top" width="205">Microsoft</td>
<td valign="top" width="205">Mobile</td>
<td valign="top" width="205">Windows 7</td>
</tr>
<tr>
<td valign="top" width="205">Samsung</td>
<td valign="top" width="205">Consumer</td>
<td valign="top" width="205">Laptops</td>
</tr>
<tr>
<td valign="top" width="205">Samsung</td>
<td valign="top" width="205">Consumer</td>
<td valign="top" width="205">Mobiles</td>
</tr>
<tr>
<td valign="top" width="205">Samsung</td>
<td valign="top" width="205">Consumer</td>
<td valign="top" width="205">Tablet</td>
</tr>
<tr>
<td valign="top" width="205">Google</td>
<td valign="top" width="205">Consumer</td>
<td valign="top" width="205">Search Engine</td>
</tr>
<tr>
<td valign="top" width="205">Google</td>
<td valign="top" width="205">Consumer</td>
<td valign="top" width="205">Google Maps</td>
</tr>
</tbody>
</table>
<p>The above is my SharePoint List, I want to group by company&#8217;s name and then count the number of rows for each grouped by data and also display only chunk of data that is grouped.</p>
<p>Company &#8211; Microsoft &#8211; 4 count</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="205">Microsoft</td>
<td valign="top" width="205">Developer</td>
<td valign="top" width="205">Visual Studio</td>
</tr>
<tr>
<td valign="top" width="205">Microsoft</td>
<td valign="top" width="205">Consumer</td>
<td valign="top" width="205">Windows</td>
</tr>
<tr>
<td valign="top" width="205">Microsoft</td>
<td valign="top" width="205">Enterprise</td>
<td valign="top" width="205">SharePoint 2010</td>
</tr>
<tr>
<td valign="top" width="205">Microsoft</td>
<td valign="top" width="205">Mobile</td>
<td valign="top" width="205">Windows 7</td>
</tr>
</tbody>
</table>
<p>Company &#8211; Samsung &#8211; 3 count</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="205">Samsung</td>
<td valign="top" width="205">Consumer</td>
<td valign="top" width="205">Laptops</td>
</tr>
<tr>
<td valign="top" width="205">Samsung</td>
<td valign="top" width="205">Consumer</td>
<td valign="top" width="205">Mobiles</td>
</tr>
<tr>
<td valign="top" width="205">Samsung</td>
<td valign="top" width="205">Consumer</td>
<td valign="top" width="205">Tablet</td>
</tr>
</tbody>
</table>
<p>Company &#8211; Google &#8211; 2 count</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="205">Google</td>
<td valign="top" width="205">Consumer</td>
<td valign="top" width="205">Search Engine</td>
</tr>
<tr>
<td valign="top" width="205">Google</td>
<td valign="top" width="205">Consumer</td>
<td valign="top" width="205">Google Maps</td>
</tr>
</tbody>
</table>
<p>My  Solution &#8211; using CAML query LINQ</p>
<p><!--more--></p>
<p>using (SPSite site = new SPSite(&#8220;<a href="http://win-50r2o1n3fsq:11111">http://server</a>&#8220;))</p>
<p>{</p>
<p>SPWeb web = site.OpenWeb();</p>
<p>SPList listCAMLQuery = web.Lists["listName"];</p>
<p>SPQuery query = new SPQuery(); // query for all the items</p>
<p>DataTable dt = listCAMLQuery.GetItems(query).GetDataTable(); // get datatable for all the list items</p>
<p>if (dt != null &#38;&#38; dt.Rows.Count &#62; 0)</p>
<p>{</p>
<p>//Group the data</p>
<p>var groupedList = from row in dt.AsEnumerable()</p>
<p>group row by row.Field&#60;string&#62;(&#8220;Company&#8221;) into groupedTable</p>
<p>// Company is the column name for groupby</p>
<p>// string is the type of column</p>
<p>orderby groupedTable.Key // key is the groupby column category value</p>
<p>select new</p>
<p>{</p>
<p>Key = groupedTable.Key, // key is the groupby column category value</p>
<p>companyCount = groupedTable.Count(), // count for columns in a groupby</p>
<p>groupedRows = groupedTable.CopyToDataTable() // grouped data</p>
<p>};</p>
<p>// print result</p>
<p>foreach (var items in groupedList)</p>
<p>{</p>
<p>int count = items.companyCount; // count for columns in a groupby category</p>
<p>DataTable dt1 = items.groupedRows;</p>
<p>gv.DataSource = dt1; //gridview</p>
<p>gv.DataBind();</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>}</p>
]]></content:encoded>
</item>

</channel>
</rss>
