<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>Composite Hierarchical Data Source</title><link>http://www.codeplex.com/chds/Project/ProjectRss.aspx</link><description>This ASP.NET 2.0 hierarchical data source control aggregates tabular data sources and links them with relations to form a hierarchical data source that can be used with hierarchical controls such a...</description><item><title>Project License Changed</title><link>http://www.codeplex.com/chds/Project/License.aspx?LicenseHistoryId=7050</link><description>Microsoft Public License &amp;#40;Ms-PL&amp;#41;&amp;#13;&amp;#10;&amp;#13;&amp;#10;This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.&amp;#13;&amp;#10;&amp;#13;&amp;#10;1. Definitions&amp;#13;&amp;#10;&amp;#13;&amp;#10;The terms &amp;#34;reproduce,&amp;#34; &amp;#34;reproduction,&amp;#34; &amp;#34;derivative works,&amp;#34; and &amp;#34;distribution&amp;#34; have the same meaning here as under U.S. copyright law.&amp;#13;&amp;#10;&amp;#13;&amp;#10;A &amp;#34;contribution&amp;#34; is the original software, or any additions or changes to the software.&amp;#13;&amp;#10;&amp;#13;&amp;#10;A &amp;#34;contributor&amp;#34; is any person that distributes its contribution under this license.&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;#34;Licensed patents&amp;#34; are a contributor&amp;#39;s patent claims that read directly on its contribution.&amp;#13;&amp;#10;&amp;#13;&amp;#10;2. Grant of Rights&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;#40;A&amp;#41; Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;#40;B&amp;#41; Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and&amp;#47;or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.&amp;#13;&amp;#10;&amp;#13;&amp;#10;3. Conditions and Limitations&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;#40;A&amp;#41; No Trademark License- This license does not grant you rights to use any contributors&amp;#39; name, logo, or trademarks.&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;#40;B&amp;#41; If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically.&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;#40;C&amp;#41; If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;#40;D&amp;#41; If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;#40;E&amp;#41; The software is licensed &amp;#34;as-is.&amp;#34; You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement.</description><author></author><pubDate>Fri, 30 Nov 2007 19:25:43 GMT</pubDate><guid isPermaLink="false">Project License Changed 20071130072543P</guid></item><item><title>Source code checked in</title><link>http://www.codeplex.com/chds/SourceControl/ListDownloadableCommits.aspx</link><description>Initial source tree population.</description><author>BertrandLeRoy</author><pubDate>Wed, 04 Jul 2007 00:54:54 GMT</pubDate><guid isPermaLink="false">Source code checked in 20070704125454A</guid></item><item><title>CREATED RELEASE: Composite Hierarchical Data Source 1.0 (Feb 03, 2005)</title><link>http://www.codeplex.com/chds/Release/ProjectReleases.aspx?ReleaseId=5465</link><description>This release contains a web site with everything you need to get started with this control. The source code is in App_code with some sample code.</description><author></author><pubDate>Wed, 04 Jul 2007 00:50:20 GMT</pubDate><guid isPermaLink="false">CREATED RELEASE: Composite Hierarchical Data Source 1.0 (Feb 03, 2005) 20070704125020A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/chds/Wiki/View.aspx?title=Home&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;This ASP.NET 2.0 hierarchical data source control aggregates tabular data sources and links them with relations to form a hierarchical data source that can be used with hierarchical controls such as the Menu or TreeView.
&lt;br /&gt; &lt;br /&gt;Tabular data sources that you get out of the box are mainly SqlDataSource and ObjectDataSource. Of course, you can also build your own data source. The nice thing is that with ObjectDataSource, you can potentially get data from any data store.&lt;br /&gt;Now, for hierarchical data sources, you've got XmlDataSource and you've got SiteMapDataSource, and... and that's it. So if you want to populate a Menu or TreeView from a database, you'll pretty much have to do it from code.&lt;br /&gt;Enter CompositeHierarchicalDataSource... This control composes several tabular data sources into one hierarchical data source using relations.&lt;br /&gt;Here's a simple page that displays a menu that takes its data from a composition of one ObjectDataSource and two AccessDataSources:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; debug=&amp;quot;true&amp;quot; %&amp;gt;
&amp;lt;%@ Register Namespace=MyControls.DataSources.CompositeHierarchicalDataSource TagPrefix=my %&amp;gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.1//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&amp;quot;&amp;gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; &amp;gt;
 
&amp;lt;head id=&amp;quot;Head1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;
   &amp;lt;title&amp;gt;CompositeHierarchicalDataSource&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
 
&amp;lt;body&amp;gt;
&amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;
   &amp;lt;div&amp;gt;
      &amp;lt;my:CompositeHierarchicalDataSource runat=server ID=Composite1 RootViewName=&amp;quot;Categories:DefaultView&amp;quot;&amp;gt;
         &amp;lt;DataSources&amp;gt;
            &amp;lt;asp:ObjectDataSource ID=&amp;quot;Categories&amp;quot; Runat=&amp;quot;server&amp;quot; TypeName=&amp;quot;Categories&amp;quot;
               SelectMethod=&amp;quot;GetCategories&amp;quot; /&amp;gt;
            &amp;lt;asp:AccessDataSource ID=&amp;quot;SubCategories&amp;quot; Runat=&amp;quot;server&amp;quot; DataFile=&amp;quot;~/data/things.mdb&amp;quot;
               SelectCommand=&amp;quot;SELECT [Id], [CategoryId], [Name] FROM [SubCategories]&amp;quot;/&amp;gt;
            &amp;lt;asp:AccessDataSource ID=&amp;quot;Things&amp;quot; Runat=&amp;quot;server&amp;quot; DataFile=&amp;quot;~/data/things.mdb&amp;quot;
               SelectCommand=&amp;quot;SELECT [Id], [SubCategoryId], [Name], [Description], [Url] FROM [Things]&amp;quot;/&amp;gt;
         &amp;lt;/DataSources&amp;gt;
         &amp;lt;Relations&amp;gt;
            &amp;lt;my:Relation ParentDataSourceId=&amp;quot;Categories&amp;quot; ParentView=&amp;quot;DefaultView&amp;quot; ParentColumns=&amp;quot;value&amp;quot;
               ChildDataSourceId=&amp;quot;SubCategories&amp;quot; ChildView=&amp;quot;DefaultView&amp;quot; ChildColumns=&amp;quot;CategoryId&amp;quot;/&amp;gt;
            &amp;lt;my:Relation ParentDataSourceId=&amp;quot;SubCategories&amp;quot; ParentView=&amp;quot;DefaultView&amp;quot; ParentColumns=&amp;quot;Id&amp;quot;
               ChildDataSourceId=&amp;quot;Things&amp;quot; ChildView=&amp;quot;DefaultView&amp;quot; ChildColumns=&amp;quot;SubCategoryId&amp;quot;/&amp;gt;
         &amp;lt;/Relations&amp;gt;
      &amp;lt;/my:CompositeHierarchicalDataSource&amp;gt;
 
      &amp;lt;asp:Menu Runat=Server ID=myMenu DataSourceID=Composite1&amp;gt;
         &amp;lt;DataBindings&amp;gt;
            &amp;lt;asp:MenuItemBinding DataMember=&amp;quot;Categories:DefaultView&amp;quot; TextField=&amp;quot;text&amp;quot; ValueField=&amp;quot;value&amp;quot; /&amp;gt;
            &amp;lt;asp:MenuItemBinding DataMember=&amp;quot;SubCategories:DefaultView&amp;quot; TextField=&amp;quot;Name&amp;quot; ValueField=&amp;quot;Id&amp;quot; /&amp;gt;
            &amp;lt;asp:MenuItemBinding DataMember=&amp;quot;Things:DefaultView&amp;quot; TextField=&amp;quot;Name&amp;quot; ValueField=&amp;quot;Id&amp;quot;
               ToolTipField=&amp;quot;Description&amp;quot; NavigateUrlField=&amp;quot;Url&amp;quot; /&amp;gt;
         &amp;lt;/DataBindings&amp;gt;
      &amp;lt;/asp:Menu&amp;gt;
   &amp;lt;/div&amp;gt;
&amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
 
&lt;/pre&gt;You can in principle use any tabular data source to build your hierarchical data source. In principle only: this is still a proof of concept and is currently limited to SqlDataSources, ObjectDataSources whose views return DataViews, and datasources whose views implement ITabularDataSourceView. Another problem it currently has is that it loads all of the data at one time. It would be nice to have lazy loading for populate on demand TreeView scenarios.&lt;br /&gt;
&lt;/div&gt;</description><author>BertrandLeRoy</author><pubDate>Wed, 04 Jul 2007 00:47:17 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20070704124717A</guid></item></channel></rss>