<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://community.devware.de/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>DevWare GmbH</title><link>http://community.devware.de/blogs/</link><description>Blog- und Forum-Seite der Firma DevWare GmbH</description><dc:language>en-US</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>MouseDragElementBehavior - Silverlight</title><link>http://community.devware.de/blogs/pascalgayk/archive/2009/09/07/mousedragelementbehavior-silverlight.aspx</link><pubDate>Mon, 07 Sep 2009 10:08:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:38</guid><dc:creator>Pascal Gayk</dc:creator><slash:comments>0</slash:comments><description>Als ich auf der Suche war ein Rectangle innerhalb eines Canvas per Maus zu bewegen zu lassen, stolperte ich über das Expression Blend 3 Behavior &amp;quot;MouseDragElementBehavior&amp;quot; wo mit man leicht und einfach ein Rectangle im Brwoser verschieben kann.&lt;br /&gt;&lt;br /&gt;Einfach im Expression Blend unter &amp;quot;Assets&amp;quot; -&amp;gt;&amp;nbsp; &amp;quot;Behaviors&amp;quot; das Behavior auswählen und es an das Rectangle binden, schon beim nächsten Start lässt sich das Rectangle frei verschieben.&lt;br /&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=38" width="1" height="1"&gt;</description><category domain="http://community.devware.de/blogs/pascalgayk/archive/tags/Blend/default.aspx">Blend</category><category domain="http://community.devware.de/blogs/pascalgayk/archive/tags/XAML/default.aspx">XAML</category><category domain="http://community.devware.de/blogs/pascalgayk/archive/tags/Behavior/default.aspx">Behavior</category><category domain="http://community.devware.de/blogs/pascalgayk/archive/tags/Rectangle/default.aspx">Rectangle</category><category domain="http://community.devware.de/blogs/pascalgayk/archive/tags/Dynamisch/default.aspx">Dynamisch</category><category domain="http://community.devware.de/blogs/pascalgayk/archive/tags/Verschiebar/default.aspx">Verschiebar</category><category domain="http://community.devware.de/blogs/pascalgayk/archive/tags/Movable/default.aspx">Movable</category><category domain="http://community.devware.de/blogs/pascalgayk/archive/tags/MouseDragElementBehavior/default.aspx">MouseDragElementBehavior</category><category domain="http://community.devware.de/blogs/pascalgayk/archive/tags/Bewegbar/default.aspx">Bewegbar</category><category domain="http://community.devware.de/blogs/pascalgayk/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Entity Framework – BindingSource - Sorting</title><link>http://community.devware.de/blogs/tiborcsizmadia/archive/2009/07/18/entity-framework-bindingsource-sorting.aspx</link><pubDate>Fri, 17 Jul 2009 23:50:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:37</guid><dc:creator>Tibor Csizmadia</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Seit einiger Zeit beschäftige ich mich mit dem Entity Framework um einen neuen Weg der Datenzugriffschichten zu erleben. Leider muss man bei EDM wirklich noch von &amp;quot;Erleben&amp;quot; reden, da einige Funktionalitäten nicht implementiert sind. So die Unterstützung der Sorting und Filtering Funktionen von QueryObject – Auflistungen. &lt;/p&gt;
&lt;p&gt;Da ich auch ein sehr großer Fan von DataBinding (Darunter müssen auch alle Personen in meinem Umfeld leiden), wollte ich die Einfachheit von Entity Framework und WinForm Applikation mit Hilfe von Databinding ausprobieren. Leider mußte ich dann feststellen, dass das BindingSource- Control mit den EntityFramework Klassen klar kommt, aber die Funktionalität für Sortieren und Filtering nicht in der BindingSource Klasse implementiert ist, sondern durchgereicht wird an die gebundende DataSource. Und da liegt das Problem: Die EntityFramework Auflistungs Klassen unterstützen kein Sorting! &lt;/p&gt;
&lt;p&gt;Nun kann man darüber philosophieren ob es an dem Entity Framework oder an der BindingSource Klasse liegt, oder einfach eine EntityBindingSource Klasse schreiben:&amp;nbsp;&lt;/p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;COLOR:blue;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;public&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; &lt;span style="COLOR:blue;"&gt;class&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;EntityBindingSource&lt;/span&gt; : &lt;span style="COLOR:#2b91af;"&gt;BindingSource&lt;/span&gt;, &lt;span style="COLOR:#2b91af;"&gt;IBindingList&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;enum&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;Direction&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;Ascending = 0,&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;Descending = 1 &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;class&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;CompareEntities&lt;/span&gt;&amp;lt;T&amp;gt; : &lt;span style="COLOR:#2b91af;"&gt;IComparer&lt;/span&gt;&amp;lt;T&amp;gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;Direction&lt;/span&gt; _sortDirection;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;Direction&lt;/span&gt; SortDirection&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt; { &lt;span style="COLOR:blue;"&gt;return&lt;/span&gt; _sortDirection; }&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;set&lt;/span&gt; { _sortDirection = &lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;; }&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;string&lt;/span&gt; _propertyName;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;string&lt;/span&gt; PropertyName&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt; { &lt;span style="COLOR:blue;"&gt;return&lt;/span&gt; _propertyName; }&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;set&lt;/span&gt; { _propertyName = &lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;; }&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt; CompareEntities(&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="COLOR:#2b91af;"&gt;Direction&lt;/span&gt; dir, &lt;span style="COLOR:blue;"&gt;string&lt;/span&gt; fieldName)&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SortDirection = dir;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;PropertyName = fieldName;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;int&lt;/span&gt; Compare(T x, T y)&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt; (x.GetType().GetProperty(PropertyName) == &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;)&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:4;"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="COLOR:blue;"&gt;throw&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;Exception&lt;/span&gt;(&lt;span style="COLOR:#2b91af;"&gt;String&lt;/span&gt;.Format(&lt;span style="COLOR:#a31515;"&gt;&amp;quot;Given property is not part of the type {0}&amp;quot;&lt;/span&gt;, PropertyName));&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;object&lt;/span&gt; objX = x.GetType().GetProperty(PropertyName).GetValue(x, &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;);&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;object&lt;/span&gt; objY = y.GetType().GetProperty(PropertyName).GetValue(y, &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;);&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt; (objX == &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; objY == &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt; (0);&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt; (objX == &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt; (-1);&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt; (objY == &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;)&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt; (1);&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt; retVal = &lt;span style="COLOR:blue;"&gt;default&lt;/span&gt;(&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt; (SortDirection == &lt;span style="COLOR:#2b91af;"&gt;Direction&lt;/span&gt;.Ascending)&lt;span style="mso-tab-count:4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;retVal = ((&lt;span style="COLOR:#2b91af;"&gt;IComparable&lt;/span&gt;)objX).CompareTo((&lt;span style="COLOR:#2b91af;"&gt;IComparable&lt;/span&gt;)objY);&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;else&lt;/span&gt;&lt;span style="mso-tab-count:4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;retVal = ((&lt;span style="COLOR:#2b91af;"&gt;IComparable&lt;/span&gt;)objY).CompareTo((&lt;span style="COLOR:#2b91af;"&gt;IComparable&lt;/span&gt;)objX);&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt; retVal;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;}&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;void&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;IBindingList&lt;/span&gt;.ApplySort(&lt;span style="COLOR:#2b91af;"&gt;PropertyDescriptor&lt;/span&gt; property, &lt;span style="COLOR:#2b91af;"&gt;ListSortDirection&lt;/span&gt; direction)&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;IEnumerable&lt;/span&gt; myOrgData = (&lt;span style="COLOR:#2b91af;"&gt;IEnumerable&lt;/span&gt;)DataSource;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR:blue;"&gt;object&lt;/span&gt;&amp;gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;myData = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR:blue;"&gt;object&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;foreach&lt;/span&gt; (&lt;span style="COLOR:blue;"&gt;object&lt;/span&gt; myObj &lt;span style="COLOR:blue;"&gt;in&lt;/span&gt; myOrgData)&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;myData.Add(myObj);&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt; (myData.Count &amp;lt; 2)&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt; (_SortDirection == &lt;span style="COLOR:#2b91af;"&gt;ListSortDirection&lt;/span&gt;.Ascending)&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_SortDirection = &lt;span style="COLOR:#2b91af;"&gt;ListSortDirection&lt;/span&gt;.Descending;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;myData.Sort(&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;CompareEntities&lt;/span&gt;&amp;lt;&lt;span style="COLOR:blue;"&gt;object&lt;/span&gt;&amp;gt;(&lt;span style="COLOR:#2b91af;"&gt;Direction&lt;/span&gt;.Ascending, property.Name));&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/span&gt;_SortDirection = &lt;span style="COLOR:#2b91af;"&gt;ListSortDirection&lt;/span&gt;.Ascending;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;myData.Sort(&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;CompareEntities&lt;/span&gt;&amp;lt;&lt;span style="COLOR:blue;"&gt;object&lt;/span&gt;&amp;gt;(&lt;span style="COLOR:#2b91af;"&gt;Direction&lt;/span&gt;.Descending, property.Name));&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_SortProperty = property;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;DataSource = myData;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;ListSortDirection&lt;/span&gt; _SortDirection = &lt;span style="COLOR:#2b91af;"&gt;ListSortDirection&lt;/span&gt;.Ascending;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;ListSortDirection&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;IBindingList&lt;/span&gt;.SortDirection&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{ &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt; _SortDirection; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;} &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;PropertyDescriptor&lt;/span&gt; _SortProperty = &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;PropertyDescriptor&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;IBindingList&lt;/span&gt;.SortProperty&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;{ &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt; (_SortProperty); &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&lt;/span&gt;}&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;bool&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;IBindingList&lt;/span&gt;.IsSorted&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;{ &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt; (&lt;span style="COLOR:blue;"&gt;true&lt;/span&gt;); &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&lt;/span&gt;}&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;bool&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;IBindingList&lt;/span&gt;.SupportsSorting&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&lt;/span&gt;{ &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-no-proof:yes;"&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt; (&lt;span style="COLOR:blue;"&gt;true&lt;/span&gt;);&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p style="MARGIN:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;&amp;nbsp;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt; &lt;/font&gt;
&lt;p style="BACKGROUND:#f3f3f3;"&gt;&lt;span style="FONT-FAMILY:Courier New;FONT-SIZE:8pt;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;font style="BACKGROUND-COLOR:#f3f3f3;" color="#0000ff" face="Courier New"&gt;&lt;/font&gt;&lt;font style="BACKGROUND-COLOR:#f3f3f3;" color="#0000ff" face="Courier New"&gt;&lt;/font&gt;Das Prinziep dahinter ist ganz einfach, man leitet von der Klasse BindingSource ab und überlädt die Methode &lt;span style="FONT-FAMILY:Courier New;FONT-SIZE:12pt;"&gt;ApplySort &lt;/span&gt;diese Methode kommt aus dem interface IBindingList und wird jedesmal aufgerufen, wenn die DataSource sortiert werden soll. Der Rest in dieser Klasse dient dazu eine generichse Sortierung von einer beliebigen Entity Liste durchzuführen. Also nichts besonderes, was Microsoft nicht auch direkt implementieren hätte können. (PS: Und auch bestimmt besser als ich &lt;span style="FONT-FAMILY:Wingdings;"&gt;J&lt;/span&gt;) &lt;img src="http://community.devware.de/aggbug.aspx?PostID=37" width="1" height="1"&gt;</description><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/Entity+Framework/default.aspx">Entity Framework</category></item><item><title>ASP.NET Error: “The state information is invalid for this page …”</title><link>http://community.devware.de/blogs/tiborcsizmadia/archive/2008/09/19/asp-net-error-the-state-information-is-invalide-for-this-page.aspx</link><pubDate>Fri, 19 Sep 2008 07:54:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:34</guid><dc:creator>Tibor Csizmadia</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Nach langem suchen habe ich heute endlich eine Erklärung und eine Lösung für die Fehlermeldung &amp;quot;The state information is invalide for this page&amp;quot; gefunden. Das Problem ist extrem weitreichend und wird durch eine winzige Kleinigkeit ausgelöst, dass ich mich entschlossen habe diesen Fall einmal genauer zu beschreiben. &lt;/p&gt;
&lt;p&gt;Wir haben eine ASP.NET 2.0 Web Applikation geschrieben, die in der Entwicklung einwandfrei läuft und getestet wurde. Nun ging diese Applikation in das Live System über und, (wie es bei größeren Web Anwendungen vorkommen kann) somit nicht nur auf einem Web Server sonder auf zwei WebServern läuft. Neben der Kleinigkeiten, das die machinkey in der web.config oder machine.config auf beiden WebServer gleich lauten muss will ich jetzt gar nicht sprechen. &lt;/p&gt;
&lt;p&gt;Die Applikation ist auf dem Live System erfolgreich und fehlerfrei gelaufen. Leider häuften sich dann die Aussagen der Benutzer, das die Applikation ab und zu eine Fehlersituation auswirft. Nach näherer Betrachtung und Analyse der Fehlermeldung könnten wir zwei Seiten ausmachen, die sporadisch die Fehlermeldung gebracht hatten: &lt;/p&gt;&lt;font face="Arial" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img height="530" alt="" src="http://previews.devware.de/BlogBilder/ASPFehler.JPG" width="1083" align="middle" border="0" /&gt;&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;Der Hinweis auf den ViewState lässt ja erst einmal darauf schließen, das durch die beiden WebServer der State nicht richtig aufgelöst werden kann, wenn z.b. ein Request auf Server 1 landet und der darauffolgende Request auf Server 2. Wenn diese beiden Server nicht auf den gleichen Stateserver verweisen, kann diese Fehlermeldung vorkommen. In unserem Fall war das aber nicht so, also mussten wir weiter forschen… In der Fehlermeldung konnten wir dann noch weitere Informationen entnehmen wie z.B. die Meldung: &lt;/p&gt;
&lt;p&gt;&amp;quot;Could not load file or assembly &amp;quot;App_Web_4ec219hu, Version 0.0.0.0 Culture=neutral, PublicKeyToken=null …&amp;quot; &lt;/p&gt;
&lt;p&gt;Und diese Meldung hat mich dann auf den richtigen Weg gebracht. Wenn man sich das Ausführungsmodell von ASP.NET anschaut, wird folgendes auf dem WebServer bei jedem Request durchgeführt: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;File ASPX laden &lt;/li&gt;
&lt;li&gt;CodeBehind Klasse compilieren und ein dynamisches Assembly erzeugen oder aus dem Cache laden &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Die Fehlermeldung lässt darauf deuten, das der Webserver ein dynamisch erzeugtes Assembly nicht finden kann, weil er es für die Pageklasse benötigt. Das kann ja passieren, wenn man mehrere WebServer hat und das Assembly mit einem autogenerierten Namen nur auf dem ersten WebServer erzeugt wurde und der Request auf dem zweiten WebServer landet. &lt;/p&gt;
&lt;p&gt;Aber wieso ist das ein Problem, da bei jedem Request das ASP.NET Framework ja die CodeBehind Klasse neu compiliert, wenn er sie nicht finden kann, somit sollte auf dem zweiten Server das nicht vorhandende Assembly auch erzeugt werden? Das passiert auch und bis dahin läuft alles richtig wie gewünscht und gedacht… ABER… &lt;/p&gt;
&lt;p&gt;Wenn man nun in seiner PageKlasse einen ViewState mit einem Objekt setzt, dessen Klassen-Beschreibung innerhalb eines Autogenerierten Assemblies liegt, wie z.B folgendes Property mit einem Enum: &lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;partial&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;class&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;Admin_Security&lt;/span&gt; : System.Web.UI.&lt;span style="COLOR:#2b91af;"&gt;Page &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;enum&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;PageView&lt;/span&gt; { Liste = 0, Detail };&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;PageView&lt;/span&gt; CurrentView &lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;span style="COLOR:blue;"&gt;get &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt; (ViewState[&lt;span style="COLOR:#a31515;"&gt;&amp;quot;Admin_Security_CurrentView&amp;quot;&lt;/span&gt;] != &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt; ((&lt;span style="COLOR:#2b91af;"&gt;PageView&lt;/span&gt;)ViewState[&lt;span style="COLOR:#a31515;"&gt;&amp;quot;Admin_Security_CurrentView&amp;quot;&lt;/span&gt;]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt; (&lt;span style="COLOR:#2b91af;"&gt;PageView&lt;/span&gt;.Liste);&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;} &lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;span style="COLOR:blue;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;ViewState[&lt;span style="COLOR:#a31515;"&gt;&amp;quot;Admin_Security_CurrentView&amp;quot;&lt;/span&gt;] = &lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;}&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;} &lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Dann passiert folgendes: Das Objekt in der ViewState Variable &amp;quot;&amp;quot; wird für den ViewState ja serialisiert und bei diesem Prozess wird auch der Typ mit vollqualifizierten Namen in den Serialisierungsstream geschrieben, somit die Referenz auf das autogenerierte Assembly. &lt;/p&gt;
&lt;p&gt;Wird nun der Request von dem zweiten Server bearbeitet, versucht der Server den ViewState wieder zu deserialisieren und holt die Typ Definition aus dem Stream und versucht so ein Objekt zu instanziieren. Da das autogenerierte Assembly aber nicht auf diesem Server liegt und er auch keine Ahnung hat wo er das Assembly herbekommen soll, kommt es zu der Fehlermeldung: &lt;/p&gt;
&lt;p&gt;&amp;quot;Could not load file or assembly &amp;quot;App_Web_4ec219hu, Version 0.0.0.0 Culture=neutral, PublicKeyToken=null …&amp;quot; &lt;/p&gt;
&lt;p&gt;Das hat zur Folge, dass der ViewState nicht deserialisiert werden kann und es kommt zu der Fehlermeldung: &lt;/p&gt;
&lt;p&gt;&amp;quot;The state information is invalid for this page …&amp;quot; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Quod erat demonstrandum! &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Die Lösung: &lt;br /&gt;&lt;/strong&gt;Das Problem kann man also umgehen, wenn man dafür sorgt, das es keine Objekte in ViewState gehalten werden, deren Klassendefinitionen in autogenerierten Assemblies liegen. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=34" width="1" height="1"&gt;</description><enclosure url="http://community.devware.de/blogs/tiborcsizmadia/attachment/34.ashx" length="92876" type="image/jpeg" /><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>ListView - zum Editieren nutzen, ohne Datasource</title><link>http://community.devware.de/blogs/sebastianuthoff/archive/2008/04/02/listview-zum-editieren-nutzen-ohne-datasource.aspx</link><pubDate>Wed, 02 Apr 2008 07:06:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:24</guid><dc:creator>Sebastian Uthoff</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;ListViews eignen sich hervorragend um schnell Listenansichten zu realisieren. Dabei möchte man manchmal auch das Databinding manuell machen. Allerdings ist dieser Weg sehr&amp;nbsp;umständlich und man erzeugt dabei sehr viel Quellcode. Dazu kommt noch, das man auf einige Seiteneffekte achten muss, wenn man das Listview dennoch zum editieren und zum anfügen von Daten benutzen möchte. Aber von Anfang an - hier ein Beispiel aus einem Programm:&lt;/P&gt;
&lt;P&gt;Ein Listview an eine -wie auch immer geartete Liste zu hängen- ist einfach:&lt;/P&gt;
&lt;P&gt;IList&amp;lt;CorrelLocationItem&amp;gt; myCorrelLocationItems = ReservationItemServiceProxy.FindCorrelLocationItemsByItemID(myItem.ItemID);&lt;BR&gt;lvObjects.DataSource = myCorrelLocationItems;&lt;BR&gt;lvObjects.DataBind();&lt;/P&gt;
&lt;P&gt;Damit ist die Listview (lvObjects) schon mit einer IList von CorrelLocationItem 's gefüllt. Man sollte natürlich darauf achten, das dabei die Controlls im Listview richtig gebunden sind.&lt;/P&gt;
&lt;P&gt;Damit man nun neue CorrelLocationItem 's hinzufügen kann, muss das ItemInserting-Ereigniss benutzen. Dabei bekommt man die Controlls innerhalb des Ereignisses als zweiten Parameter übergeben. Mit dem Befehl "e.Item.FindControl(string)" (string ist der Name des Controlls, e das Objekt vom zweiten Parameter) lässt sich jedes Controll im InseringItem-Template finden und seine Informationen auslesen. Damit auch das InseringItemTemplate angeziegt wird, muss InsertItemPosition auf einen anderen Wert als none gesetzt werden. Das hat zur Folge das sämmtliche Informationen für ein neues CorrelLocationItem-Objekt aus den Controlls zusammengesucht werden muss, was sehr umständlich ist.&lt;/P&gt;
&lt;P&gt;Löschen verhält sich ähnlich. Im Ereigniss ItemDeleting kriegt den aktuellen Index der Spalte im zweiten Parameter, in der eigenschaft ItemIndex geliefert. Dann kann man über die ListView Eigenschaft Items die akutelle Spalte nach seinen Controlls durchsuchen.&lt;/P&gt;
&lt;P&gt;Editieren ist komplizierter. Man muss zwei Ereignisse behandeln. Das erste, das sich ItemEditing nennt und das eintritt, wenn der Benutzer durch das drücken auf den Edit-Button ein Post-Back auslößt. Und ein zweites, das sich ItemUpdating nennt und eintritt, wenn der Benutzer auf Update-drückt.&lt;BR&gt;Im ersten muss die ListView eigenschaft SelectedIndex und&amp;nbsp;EditIndex mit dem aktuellen Index überschrieben werden. Dieser wird im Ereigniss, als zweiter Parameter in der Eigenschaft NewEditItem mitgeliefert. Um nun etweilige vorbelegungen innerhalb des EditItemTemplates vorzunehmen, muss man ersteinmal das Listview neu an die Datenquelle binden und dann auch noch die Controlls aus der ListView-Eigenschaft Items herrausfischen.&lt;BR&gt;Im zweiten Ereigniss muss man nun die ListView-Eigenschaften SelectedIndex und EditIndex wieder zurück auf -1 setzen, um das EditItemTemplate unsichtbar zu machen. Auch die Controlls muss man wieder umständlich aus den Items herraussuchen. Diesmal wird der Aktuelle Index über die Eigenschaft ItemIndex, im zweiten Parameter übergeben.&lt;/P&gt;
&lt;P&gt;Also alles in allem eine sehr umständliche Geschichte. Es lohnt sich eher Proxy-Klassen zu schaffen und diese mit einer DataSource an das Listviewzu hängen&lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=24" width="1" height="1"&gt;</description><category domain="http://community.devware.de/blogs/sebastianuthoff/archive/tags/Index/default.aspx">Index</category><category domain="http://community.devware.de/blogs/sebastianuthoff/archive/tags/Databinding/default.aspx">Databinding</category><category domain="http://community.devware.de/blogs/sebastianuthoff/archive/tags/DataSource/default.aspx">DataSource</category><category domain="http://community.devware.de/blogs/sebastianuthoff/archive/tags/Items/default.aspx">Items</category><category domain="http://community.devware.de/blogs/sebastianuthoff/archive/tags/ListView/default.aspx">ListView</category><category domain="http://community.devware.de/blogs/sebastianuthoff/archive/tags/asp.net/default.aspx">asp.net</category><category domain="http://community.devware.de/blogs/sebastianuthoff/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://community.devware.de/blogs/sebastianuthoff/archive/tags/.net/default.aspx">.net</category></item><item><title>MOSS2007 on Windows Server 2008</title><link>http://community.devware.de/blogs/tiborcsizmadia/archive/2008/02/04/moss2007-on-windows-server-2008.aspx</link><pubDate>Mon, 04 Feb 2008 13:29:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:23</guid><dc:creator>Tibor Csizmadia</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Heute habe ich versucht&amp;nbsp;unseren Sharepoint WSS 3.0 auf MOSS&amp;nbsp;2007 upgraden, eigentlich kein&amp;nbsp;Problem... Wenn&amp;nbsp;das ganze allerdings auf einem&amp;nbsp;Windows Server 2008&amp;nbsp;installiert ist, bekommt man eine&amp;nbsp;Kombatibilitäts Fehlermeldung&amp;nbsp;und das Setup bricht hab. Schön das der Hinweis kommt, dass man eine Installation von MOSS2007 mit SP1 benötigt, welches noch nicht zum download bereit steht.&lt;/P&gt;
&lt;P&gt;Was nun? Jetzt muß man sich einfach selber eine integriertes Setup mit SP1 von MOSS2007 erstellen. Microsoft nennt das "Slipstream" installation und geht relativ einfach:&lt;/P&gt;
&lt;P&gt;1. MOSS2007 Setup-Verzeichnis auf eine Festplatte kopieren&lt;/P&gt;
&lt;P&gt;2. MOSS SP1 herunter laden&lt;/P&gt;
&lt;P&gt;3. SP1 extrahieren und in das Updates Verzeichnis der orginal Installation kopieren&lt;/P&gt;
&lt;P&gt;Feritg. Nun kann man das Setup auf einem Windows Server 2008 ohne Probleme und mit SP1 installieren.&lt;/P&gt;
&lt;P&gt;Quelle: &lt;A href="http://www.scolab.ch/howto-slipstream-installation-von-office-sharepoint-server-fur-windows-server-2008-rc1.html"&gt;http://www.scolab.ch/howto-slipstream-installation-von-office-sharepoint-server-fur-windows-server-2008-rc1.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=23" width="1" height="1"&gt;</description><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/Sharepoint/default.aspx">Sharepoint</category></item><item><title>Interessante Dinge mit Expression Blend</title><link>http://community.devware.de/blogs/pascalgayk/archive/2007/09/17/intressante-dinge-mit-expression-blend.aspx</link><pubDate>Mon, 17 Sep 2007 12:55:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:22</guid><dc:creator>Pascal Gayk</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Heute habe ich mich weiter mit Expression Blend beschäftigt.&lt;BR&gt;&lt;BR&gt;Nach langer suche fand ich ein paar nette und Interessante Links. Besonders hervorzuheben ist die Seite &lt;A href="http://www.yourexpression.de/"&gt;www.yourexpression.de&lt;/A&gt; die sich mit allen Expression-Produkten auseinander setzt und gute Anleitung zum arbeiten mit Expression Blend zeigt. Doch ist die Seite vom Inhalt her noch etwas Ausbau fähig. Auf &lt;A href="http://www.yourexpression.de/"&gt;www.yourexpression.de&lt;/A&gt; gibt es auch viele weitere interssante Links zu verschiedenen Silverlight-Entwicklungen so z.B. &lt;A href="http://silverlight.schwarz-interactive.de/ex04/default.html"&gt;http://silverlight.schwarz-interactive.de/ex04/default.html&lt;/A&gt; oder &lt;A href="http://silverlight.net/fox"&gt;http://silverlight.net/fox&lt;/A&gt; .&lt;/P&gt;
&lt;P&gt;Aktuell ist Silverlight und WPF zwar noch Zukunftsmusik, aber wie ich finde hat diese Technik klare Vorteile gegenüber Flash oder anderen Animationsprogrammen.&lt;BR&gt;So bin ich gespannt was ich nach meinen erst Entwicklungen weiters mit Expression Blend basteln kann.&lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=22" width="1" height="1"&gt;</description></item><item><title>SQL Server 2005 Installation auf Windows Vista</title><link>http://community.devware.de/blogs/tiborcsizmadia/archive/2007/09/04/sql-server-2005-installation-auf-windows-vista.aspx</link><pubDate>Tue, 04 Sep 2007 07:45:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:21</guid><dc:creator>Tibor Csizmadia</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Jedesmal das gleiche: Wenn eine Installationsroutine nicht alle notwendigen Schritte ausführt die man zur Installation braucht (wie Framework installation, konfiguration),&amp;nbsp;verzeifelt an merkwürdigen&amp;nbsp;Fehlermeldungen... Es war mal wieder so weit, ein neues frisch Installiertes Windows Vista mit Development-Tools auszurüsten, so auch SQL Server 2005. &lt;/P&gt;
&lt;P&gt;Hatte das Setup-Programm immer wieder angemekert, das&amp;nbsp;ohne IIS-Installation kein Reporting-Service installiert werden kann.&amp;nbsp;Schaut man dann in der Systemsteuerung nach, ist IIS (allerdings 7) installiert. Das&amp;nbsp;ist für das SQL Server 2005 Setup anscheint zu neu und deswegen müssen einige Einstellungen von hand durchgeführt werden, damit die Installation sauber durchlaufen kann.&lt;/P&gt;
&lt;P&gt;Zum Glück habe ich einen Microsoft KB Eintrag gefunden der die Schritte kurz beschriebt:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;A href="http://support.microsoft.com/kb/934164/en-us"&gt;http://support.microsoft.com/kb/934164/en-us&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=21" width="1" height="1"&gt;</description><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/Vista/default.aspx">Vista</category><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/SQL-Server/default.aspx">SQL-Server</category></item><item><title>3.9 - Ausbildungsbeginn</title><link>http://community.devware.de/blogs/pascalgayk/archive/2007/09/03/3-9-ausbildungsbeginn.aspx</link><pubDate>Mon, 03 Sep 2007 14:39:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:20</guid><dc:creator>Pascal Gayk</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Am morgen wurde ich von Tibor freundlich in der Firma Willkommen geheißen.&lt;/P&gt;
&lt;P&gt;Da nach ging es an meinen Abrbeitsplatz. Dort wurde von mir Visual Studio installiert.&lt;BR&gt;Als dann das Service Pack installiert werden musste, musste man die Feststellung machen, dass der PC mehr als 4 Stunden brauchte um das Service Pack &lt;EM&gt;&lt;U&gt;nicht &lt;/U&gt;&lt;/EM&gt;erfolgreich zu installieren. So mit kann ich am Ende diesen Tages sagen, dass einige Dinge doch immer noch viel Zeit benötigen in unserer heutigen schnelle Welt und ich leider nicht direkt Erfahrungen sammeln konnte in den für meine Ausbildung wichtigen Punkten. &lt;/P&gt;
&lt;P&gt;Pascal&lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=20" width="1" height="1"&gt;</description></item><item><title>UNION Statement  - Spaltenreihenfolge entscheident!</title><link>http://community.devware.de/blogs/tiborcsizmadia/archive/2007/08/15/union-statement-spaltenreihenfolge-entscheident.aspx</link><pubDate>Wed, 15 Aug 2007 13:48:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:19</guid><dc:creator>Tibor Csizmadia</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Heute habe ich mal wieder eine Kleinigkeit zu SQL gelernt. Ich hatte ein UNION Statement um zwei Tabellenabfragen als eine Tabelle an mein DataReader zurückzugeben:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; Select&amp;nbsp;0 as OrderID, null as Firma, null as FirmID&lt;BR&gt;UNION&lt;BR&gt;&amp;nbsp;&amp;nbsp; select 1 as OrderID, Firm.Firmname, Convert(nvarchar(80),Firm.FirmID) from Firm&lt;/P&gt;
&lt;P&gt;So wird jeder erwarten, dass alle Firmeneinträge plus der null Eintrag in einer Tabelle zurückgegeben wird, ist auch so, leider hatte ich mich in der Codierung des SQL Statements vertan (Es war auch etwas umfangreicher aber für diese Demo ist es so besser ersichtlich) und aber die Spalten der beiden SELECT Statements nicht in der gleichen Reihenfolge :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; Select&amp;nbsp;0 as OrderID, null as Firma, null as FirmID&lt;BR&gt;UNION&lt;BR&gt;&amp;nbsp;&amp;nbsp; select 1 as OrderID,&amp;nbsp; Convert(nvarchar(80),Firm.FirmID), Firm.Firmname from Firm&lt;/P&gt;
&lt;P&gt;Ich hätte erwartet, dass ein SQL-Fehler geworfen wird, stattdessen wird das Statement fehlerfrei ausgeführt, nur die Inhalte sind von der zweiten Tabelle mit den beiden Spalten vertauscht. (Wahrscheinlich da beide Spalten den gleichen Datentyp hatten)!&lt;/P&gt;
&lt;P&gt;Tja SQL ist leider nicht typ-safe und durch das "reincodieren" der SQL Statements in den C# Code als string kann auch keinerlei Unterstützung durch die IDE gegeben werden...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=19" width="1" height="1"&gt;</description><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/Development/default.aspx">Development</category><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/SQL/default.aspx">SQL</category><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>VS2005 SP1 on Windows Server 2003</title><link>http://community.devware.de/blogs/tiborcsizmadia/archive/2007/08/15/vs2005-sp1-on-windows-server-2003.aspx</link><pubDate>Wed, 15 Aug 2007 13:23:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:18</guid><dc:creator>Tibor Csizmadia</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Wer schonmal versucht hat das SP1 vom Visual Studio 2005 auf einer Windows Server 2003 Box zu installieren, wird wahrscheinlich nach x frustrierten Versuchen aufgeben, da immer der Fehler 1718 vom Installer hochkommt. Ärgerlicherweise immer erst nach x Minuten extracting... &lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;"&gt;Error 1718.File D:\WINDOWS\Installer\50baad.msp was rejected by digital signature policy.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Ich habe zum Glück nach einigen Anläufen ein Hotfix gefunden mit dem die Installation dann funktioniert, also erst Knowledge Base article &lt;A href="http://support.microsoft.com/kb/925336"&gt;925336&lt;/A&gt;&amp;nbsp;installieren und dann geht die SP1 Installation auch durch.&lt;/P&gt;
&lt;P&gt;Quelle: &lt;A href="http://blogs.msdn.com/heaths/archive/2007/01/11/workaround-for-error-1718.aspx"&gt;http://blogs.msdn.com/heaths/archive/2007/01/11/workaround-for-error-1718.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=18" width="1" height="1"&gt;</description><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>Windows Vista - Unable to rename a file/folder</title><link>http://community.devware.de/blogs/tiborcsizmadia/archive/2007/08/02/windows-vista-unable-to-rename-a-file-folder.aspx</link><pubDate>Thu, 02 Aug 2007 12:52:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:17</guid><dc:creator>Tibor Csizmadia</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Heute hatte ich eine erkenntnis der besonderen Art. Seit einigen Tagen konnte ich von meinem Vista-Desktop keine Files mehr auf den Fileshare unserer Server umbennenen. Komischerweise konnte ich Files anlegen und editieren und auch wieder speichern. Nur das Umbennenen ging nicht. Da wir zur gleichen zeit auch ein paar Änderungen im Rechenzentrum hatten und ein Fileserver gewandert ist, habe ich erst gedacht das es damit zusammen hängt.&lt;/P&gt;
&lt;P&gt;So vergingen ein paar Tage und ich mußte schon meine Dateien über einen Trick auf den FileServer speichern. Da ich das Problem mit meinem Notebook (WindowsXP) nicht hatte, lang die Vermutung nahe das es irgendwie mit Vista zu tun hat.&lt;/P&gt;
&lt;P&gt;Aber&lt;/P&gt;
&lt;P&gt;Die Lösung des Problems ist eigentlich ganz einfach aber auch verblüffend. Ich habe einen Forums Eintrag gefunden&amp;nbsp; (&lt;A href="http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1211320&amp;amp;SiteID=17"&gt;&lt;FONT size=2&gt;http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1211320&amp;amp;SiteID=17&lt;/FONT&gt;&lt;/A&gt;) den ich einfach ausprobiert habe und was wirklich zum Erfolg geführt hat. Anscheint war auf meinem Vista Rechner die Offline-Datenbank für Files defekt. Einfaches Deaktivieren der Offline-File Features hat meinen Vista Rechner wieder zu einem Normalen Rechner gemacht.&lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=17" width="1" height="1"&gt;</description><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/Vista/default.aspx">Vista</category><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/Infrastructure/default.aspx">Infrastructure</category></item><item><title>Report exportieren ins Excel Format</title><link>http://community.devware.de/blogs/tiborcsizmadia/archive/2007/01/06/report-exportieren-ins-excel-format.aspx</link><pubDate>Sat, 06 Jan 2007 16:30:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:16</guid><dc:creator>Tibor Csizmadia</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Heute hatte ich einmal die knifflige Aufgabe, einen Report über das ReportViewer-Control in das Excel Format zu exportieren. Eigentlich ist das eine ganz schöne Funktion, jedoch muss man bei der Definition des Reports auf einige Punkte achten, damit die Formatierung auch unter Excel noch zufriedenstellend aussieht: &lt;/P&gt;
&lt;P&gt;Die TextBox-Elemente die auf einen Report platziert werden und nicht in der Daten-Matrix enthalten sind, sollten von den Ausmaßen an die Spalten der Matrix ausgerichtet sein. Wenn das nicht so ist wird beim Excel Export immer leere Spalten hinzugefügt, um so diese Textboxen zu platzieren. Das wäre nicht so schlimm, allerdings müssen, dann Zellen in den Datenzeilen verbunden werden und ich hatte dann genau das Problem, das die Zeilenumbruch-Formatierung nicht sauber funktioniert. &lt;/P&gt;
&lt;P&gt;Bei der Suche nach einer Lösung bin ich auch noch auf den Parameter DeviceInfo in der Render- Funktion gestoßen, d.h. wenn man den Report per Code erzeugt und selber exportieren möchte kann man das ja wie folgt machen: &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:blue;"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;void&lt;/SPAN&gt; ExportReportToExcel(&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; sReportname, &lt;SPAN style="COLOR:#2b91af;"&gt;Dictionary&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt;, &lt;SPAN style="COLOR:blue;"&gt;object&lt;/SPAN&gt;&amp;gt; myParamValues) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; sOutputPath = &lt;SPAN style="COLOR:#a31515;"&gt;"c:\\temp\\Export.xls"&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:#2b91af;"&gt;LocalReport&lt;/SPAN&gt; myReport = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;LocalReport&lt;/SPAN&gt;(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; deviceInfo = &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:#a31515;"&gt;"&amp;lt;DeviceInfo&amp;gt;"&lt;/SPAN&gt; + &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:#a31515;"&gt;"&amp;lt;SimplePageHeaders&amp;gt;True&amp;lt;/SimplePageHeaders&amp;gt;"&lt;/SPAN&gt; + &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:#a31515;"&gt;"&amp;lt;/DeviceInfo&amp;gt;"&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;myReport.ReportPath = sLieferscheinReport; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:#2b91af;"&gt;List&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR:#2b91af;"&gt;ReportParameter&lt;/SPAN&gt;&amp;gt; myRepListe = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;List&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR:#2b91af;"&gt;ReportParameter&lt;/SPAN&gt;&amp;gt;(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:blue;"&gt;foreach&lt;/SPAN&gt; (&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; myItem &lt;SPAN style="COLOR:blue;"&gt;in&lt;/SPAN&gt; myParamValues.Keys) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myRepListe.Add(&lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;ReportParameter&lt;/SPAN&gt;(myItem, myParamValues[myItem].ToString())); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;myReport.SetParameters(myRepListe); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:#2b91af;"&gt;ReportSystem&lt;/SPAN&gt;.Instance.LoadReportData(myReport, myParamValues); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:#2b91af;"&gt;Warning&lt;/SPAN&gt;[] warnings; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt;[] streamids; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; mimeType; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; encoding; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; extension; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; sCurrentAbsPath; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:blue;"&gt;byte&lt;/SPAN&gt;[] bytes; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; sFilename; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;bytes = myReport.Render( &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:#a31515;"&gt;"Excel"&lt;/SPAN&gt;, deviceInfo, &lt;SPAN style="COLOR:blue;"&gt;out&lt;/SPAN&gt; mimeType, &lt;SPAN style="COLOR:blue;"&gt;out&lt;/SPAN&gt; encoding, &lt;SPAN style="COLOR:blue;"&gt;out&lt;/SPAN&gt; extension, &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:blue;"&gt;out&lt;/SPAN&gt; streamids, &lt;SPAN style="COLOR:blue;"&gt;out&lt;/SPAN&gt; warnings); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:blue;"&gt;using&lt;/SPAN&gt; (&lt;SPAN style="COLOR:#2b91af;"&gt;FileStream&lt;/SPAN&gt; fs = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;FileStream&lt;/SPAN&gt;(sOutputPath, &lt;SPAN style="COLOR:#2b91af;"&gt;FileMode&lt;/SPAN&gt;.Create)) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;fs.Write(bytes, 0, bytes.Length); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;fs.Close(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Dabei fragt man sich natürlich was darf/kann man alles in den XML-Parameter &lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;deviceInfo&lt;/SPAN&gt; übergeben? Die Antwort findet man unter MSDN: &lt;A href="http://msdn2.microsoft.com/en-us/library/aa179622(SQL.80).aspx"&gt;http://msdn2.microsoft.com/en-us/library/aa179622(SQL.80).aspx&lt;/A&gt; &lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=16" width="1" height="1"&gt;</description><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/Reporting-Service/default.aspx">Reporting-Service</category><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/Development/default.aspx">Development</category></item><item><title>Online-Hilfe aus Word-Dokument</title><link>http://community.devware.de/blogs/tiborcsizmadia/archive/2006/12/29/online-hilfe-aus-word-dokument.aspx</link><pubDate>Fri, 29 Dec 2006 11:17:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:15</guid><dc:creator>Tibor Csizmadia</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Heute ist so ein Tag (man nennt es ja auch so schon Zwischen den Jahren) an dem ich so richtig viel Zeit habe und mal Dinge aufarbeite zu den ich sonst nicht komme. Und was macht man dann als Softwareentwickler: &lt;/P&gt;
&lt;P&gt;Genau das was "wir" ja sonst so ungern machen: Dokumentation schreiben und Online Hilfe Files. Dabei habe ich nach einer schnellen und einfachen Lösung gesucht aus einem Word-Dokument ein richtiges chm-Helpfile zu generieren. Nachdem ich mir das "Html Help Workshop" Tool angeschaut hatte und schnell festgestellt habe, dass es nicht so einfach war aus meinem Word-Handbuch in ein chm-Helpfile zu generieren. So bin ich auf ein Smartes Tool Doc2Chm von der Firma Dawningsoft (&lt;A href="http://www.dawningsoft.com/products/doc2chm.htm"&gt;http://www.dawningsoft.com/products/doc2chm.htm&lt;/A&gt; ). Damit lässt sich ganz schnell aus einem Word-Dokument ein Chm-File erzeugen wobei man auch noch einige Parameter konfigurieren kann. &lt;/P&gt;
&lt;P&gt;Dieses File habe ich dann in meine Solution mit aufgenommen und die Build-Action auf Content und das Property "Copy to Output Directory" auf "Copy allways". Somit kann man das Help-File aus seinem Programmcode wie folgt benutzen: &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:blue;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;void&lt;/SPAN&gt; onlineHilfeToolStripMenuItem_Click(&lt;SPAN style="COLOR:blue;"&gt;object&lt;/SPAN&gt; sender, &lt;SPAN style="COLOR:#2b91af;"&gt;EventArgs&lt;/SPAN&gt; e) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;{ &lt;BR&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;&lt;SPAN style="COLOR:#2b91af;"&gt;Help&lt;/SPAN&gt;.ShowHelp(&lt;SPAN style="COLOR:blue;"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="COLOR:#a31515;"&gt;"BusinessNewsDB.chm"&lt;/SPAN&gt; ); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Courier New;"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Das war jetzt so einfach, das ich mich Frage warum wir nie Online-Hilfen mit unseren Applikation erstellen? &lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=15" width="1" height="1"&gt;</description><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/Development/default.aspx">Development</category></item><item><title>Databound Header/Footer Fields in Reporting-Service</title><link>http://community.devware.de/blogs/tiborcsizmadia/archive/2006/12/26/databound-header-footer-fields-in-reporting-service.aspx</link><pubDate>Tue, 26 Dec 2006 13:58:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:14</guid><dc:creator>Tibor Csizmadia</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Heute bin ich auf ein echt gravierendes Problem beim erstellen von Reports mit den Microsoft Reporting Service gestoßen. Ich wollte in meinen Header einige Datenfelder Benutzer mit First() so das z.B. die Adresse eines Lieferscheins im Header Bereich benutzt werden kann. Leider kommt dann beim kompilieren des Reports die Fehlermeldung: "Felder können in Seitenkopfzeilen oder –fußzeilen verwendet werden". Da ich allerdings den Content-Bereich im Report dreispaltig aufbauen wollte und die Anschrift natürlich nicht in das dreispaltige Layout platzieren wollte, musste ich eine andere Lösung finden. Da bin ich auf folgenden Artikel aufmerksam geworden (&lt;A href="http://msdn2.microsoft.com/en-us/library/ms159677.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms159677.aspx&lt;/A&gt;) Dort wird ein kleiner Trick beschrieben, womit man im Header Bereich über die Referenz einer Textbox im Content Bereich auf den ersten Wert zugreifen kann. &lt;/P&gt;
&lt;P&gt;Leider ist das wirklich ein Workaround und von einem Reporting–Tool hätte ich eigentlich eine saubere Lösung erwartet… &lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=14" width="1" height="1"&gt;</description><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/Reporting-Service/default.aspx">Reporting-Service</category><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/Development/default.aspx">Development</category></item><item><title>Kalenderwoche aus DateTime ermitteln</title><link>http://community.devware.de/blogs/tiborcsizmadia/archive/2006/12/17/kalenderwoche-aus-datetime-ermitteln.aspx</link><pubDate>Sun, 17 Dec 2006 21:09:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:13</guid><dc:creator>Tibor Csizmadia</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Heute bin ich auf einen echt sehr guten Tipp gestoßen, nachdem ich seltsame Implementierung gefunden habe. Ich war auf der Suche nach einer einfachen Möglichkeit unter .Net die Kalenderwoche aus einer DateTime Struktur zu ermitteln. Ich war sehr erstaunt darüber das diese Funktion nicht in der Klasse DateTime implementiert ist. &lt;/P&gt;
&lt;P&gt;Dann machte ich mich bei Google &amp;amp; Co auf der Suche nach einem einfachen Algorithmus....dabei sind mir echt abstruse Kandidaten untergekommen, aber auf diese Lösung wär ich nicht gekommen:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;SPAN style="FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;using&lt;/SPAN&gt; System;&lt;BR&gt;&lt;SPAN style="FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;using&lt;/SPAN&gt; System.Globalization ;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;namespace&lt;/SPAN&gt; ConsoleApplication1&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;class&lt;/SPAN&gt; Class1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[STAThread]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;string&lt;/SPAN&gt;[] args)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DateTime dt &lt;SPAN style="FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; DateTime.Now;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Globalization.Calendar objCal &lt;SPAN style="FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; CultureInfo.CurrentCulture.Calendar;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;int&lt;/SPAN&gt; weekofyear &lt;SPAN style="FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; objCal.GetWeekOfYear(dt, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(weekofyear.ToString() ) ;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;}&lt;BR&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Somit ist mein Erstaunen über das Fehlen der Funktion in der DateTime-Klasse wieder beruhgt worden: .Net ist eben cool!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=13" width="1" height="1"&gt;</description><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/Development/default.aspx">Development</category><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>Visual Studio 2005 Web-Projekte + IIS7 unter Vista</title><link>http://community.devware.de/blogs/tiborcsizmadia/archive/2006/12/13/visual-studio-2005-web-projekte-iis7-unter-vista.aspx</link><pubDate>Wed, 13 Dec 2006 10:23:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:12</guid><dc:creator>Tibor Csizmadia</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Ich habe mich gewundert warum meine ASP.NET Projekte unter VS2005 und Vista nicht mehr richtig funktionieren und nach langem Suchen bin ich dann auf das Blog von Sarang Datye (&lt;A href="http://sarangdatye.blogspot.com/2006/11/windows-vista-iis7-vs2005-confusion.html"&gt;http://sarangdatye.blogspot.com/2006/11/windows-vista-iis7-vs2005-confusion.html&lt;/A&gt;) gestossen und endlich eine Lösung gefunden.&lt;/P&gt;
&lt;P&gt;Da wird nur mal wieder bewußt wie Abhängig einige Applikation von der Administrator- Rolle sind!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=12" width="1" height="1"&gt;</description><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/Vista/default.aspx">Vista</category><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/VS2005/default.aspx">VS2005</category></item><item><title>SQL-Server Installation auf Vista</title><link>http://community.devware.de/blogs/tiborcsizmadia/archive/2006/12/05/sql-server-installation-auf-vista-2.aspx</link><pubDate>Tue, 05 Dec 2006 16:47:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:11</guid><dc:creator>Tibor Csizmadia</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Heute habe ich mal feststellen müssen, dass die Installation des SQL-Servers 2005 auf einem Vista Betriebsystem nicht so einfach ist! Nachdem ich über Google auf Steffen Krause´s Blog Eintrag zum Installieren von SQL auf Vista (http://blogs.technet.com/steffenk/archive/2006/11/07/reporting-services-unter-vista.aspx ) gestoßen bin, hat die Installation auch geklappt. Allerdings habe ich anscheint etwas noch falsch gemacht, da ich mit dem SQL Managment Studio keine Verbindung zu der SQL-Instanz aufbauen konnte. Es erscheint immer wieder die Meldung: &lt;/P&gt;
&lt;P&gt;&lt;img src="/blogs/tiborcsizmadia/attachment/11.ashx" alt="Attachment: SQLError18456.jpg (16641 bytes)" border="0" /&gt; &lt;/P&gt;
&lt;P&gt;Wenn man dann nach dieser Fehlermeldung einmal im Internet sucht, stößt man auf eine KB-Eintrag http://support.microsoft.com/kb/925744/en-us der darauf hindeutet, das es wohl ein Problem ist und erst im nächsten SP des SQL Servers (Also SP2) gefixt ist. Da ich mir den Rechner nicht mit einem CTP des SP2 vollmüllen wollte habe ich frustriert aufgegeben und mir hier mal einen Server beschafft, um dort SQL-Server 2005 zu installieren. (Zum Glück haben wir einen grooossseeennn Server auf dem Virtuell Server läuft, somit war das eben so einfach wie SQL-Server dann auch dort zu installieren.) &lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=11" width="1" height="1"&gt;</description><enclosure url="http://community.devware.de/blogs/tiborcsizmadia/attachment/11.ashx" length="16641" type="image/jpeg" /><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/SQL/default.aspx">SQL</category></item><item><title>Royalty@Night -Veranstaltung und das ISV- Royalty -Programm</title><link>http://community.devware.de/blogs/tiborcsizmadia/archive/2006/12/04/royalty-night-veranstaltung-und-das-isv-royalty-programm.aspx</link><pubDate>Mon, 04 Dec 2006 07:13:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:8</guid><dc:creator>Tibor Csizmadia</dc:creator><slash:comments>0</slash:comments><description>&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Ich vergaß ganz letzte Woche meine Eindrücke zu der Veranstaltung „Die Vermarktung von SQL Server 2005 im ISV Royalty-Lizenzprogramm (Royalty@Night)&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;“bei Microsoft in Neuss zu schreiben. Aufgrund geringer Teilnehmerzahl war es dann auch eine recht gemütliche Veranstaltung, nicht mehr als 5-6 Unternehmen schienen sich für das Thema zu interessieren. Ich frage mich ob es ein gutes Zeichen ist oder ehr ein schlechtes. Bedeutet es nun das es in Deutschland so wenige ISV (Independent Software Vendor, sprich Softwarehersteller) gibt, oder hierzulande einfach keine Software produziert wird? Natürlich ist das Thema Lizenzierung von Microsoft Software nicht gerade eins der spannendsten, wobei ein Einkäufer oder ein Geschäftsführer sollte sich schon einmal die Frage stellen, ob man seinen Einkauf von Lizenzen nicht optimieren kann.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Auch aus diesem Grund wollte ich mir die Veranstaltung anschauen, um ggf. nach neuen Beschaffunsgwegen zu forschen. Mein Ansatz ist dabei immer schon gewesen, das wir als ISV eine Menge für Microsoft tun, da ohne die Lösungen hätte sich ein Betriebsystem Windows nicht so verbreitet. Um so ärgerlicher war es in der Vergangenheit, das man keine Möglichkeit bekommen hatte entsprechend seines Status von Microsoft direkt zu kaufen.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Diesen Umstand soll das ISV- Royalty Programm beheben (es gab in der Vergangenheit schon dieses Programm nur mit etwas anderen Bedingungen), so dass man sich zu einem Mindestumsatz und einer Laufzeit verpflichtet und erhält dann entsprechende Lizenzen zu einem durchaus viel günstigeren Preis als im Laden oder über entsprechend OPEN oder SELECT Verträge.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Das klingt erstmal ganz gut, allerdings sehe ich auch einige Probleme. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Einmal sind nicht alle Produkte in diesem Royalty Programm, so stehen z.B. Betriebsystem nicht auf der Liste, was ich als Lösungsanbieter aus einer Hand nicht ganz nachvollziehen kann. Da ich dem Kunden ein komplett Angebot unterbreite ggf. noch mit Hardware. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Auf der anderen Seite benutzen wir für unsere Lösung den Microsoft SQL Server der mittlerweile ja schon (fast) Betriebsystem – Status erfahren hat, weil sehr viele Produkte von Microsoft den Server auch nutzen. Somit ist die Runtime-Lizenz aus dem Roality Programm nicht ganz so interessant, da diese dann lizenztechnisch auf eine Lösung beschränkt ist. D.h. Sollte ich einmal einen Kunden die Runtime-Lizenz des SQL Servers als Vollversion angeboten haben und der Kunde möchte dann noch zusätzlich eine andere Applikation mit dieser SQL-Instanz laufen lassen, ist es lizenztechnisch (und ob es auch technisch nicht geht weiß ich nicht) nicht erlaubt. Somit würde der Kunde verärgert sein und ich mit meinem Angebot schon wieder gar nicht so gut dastehen. Somit bleibt nur die Vollversion des SQL-Servers zu nehmen und da schwindet schon wieder meine neu gewonnen Marge, die ich aus dem Royalty Programm erhofft hatte.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Somit ist die Aussage eines Referenten schon ganz hilfreich gewesen; wenn man sich nur auf die SQL-Lizenz aus dem Royalty Programm stützt, wird man den Mindestumsatz kaum erreichen.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Ein Trostpflaster gibt es allerdings noch, in Zukunft soll auch der Microsoft Small Business-Server 2003 in das Programm aufgenommen werden.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;FONT face=Arial size=2&gt;&lt;img src="/blogs/tiborcsizmadia/attachment/8.ashx" alt="Attachment: ISV.jpg (15599 bytes)" border="0" /&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=8" width="1" height="1"&gt;</description><enclosure url="http://community.devware.de/blogs/tiborcsizmadia/attachment/8.ashx" length="15599" type="image/jpeg" /><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/ISV/default.aspx">ISV</category></item><item><title>Tipps und Tricks mit dem ReportViewer-Control für Local-Reports</title><link>http://community.devware.de/blogs/tiborcsizmadia/archive/2006/12/03/tipps-und-tricks-mit-dem-reportviewer-control-f-r-local-reports.aspx</link><pubDate>Sun, 03 Dec 2006 16:21:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:7</guid><dc:creator>Tibor Csizmadia</dc:creator><slash:comments>0</slash:comments><description>&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Die Reporting Features vom neuen SQL-Server 2005 finde ich als AdHoc Lösung ein schneller und eleganter Weg, um Daten anspruchsvoll zu präsentieren UND auch noch einfach druckbar oder nach PDF konvertierbar zu machen.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Wir setzten in vielen Projekten schon die Reporing Service ein, wobei ich festgestellt habe, das die der Einsatz von lokal gerenderten Reports ebenso einfach wie elegant eingsetzt werden kann. Lokale-Reports können mit dem Visual Studio 2005 auch ohne SQL-Reporting Service erzeugt und gerendert werden. Der einzige Nachteil dabei ist, dass man sich selber um die Datenquellen und Daten kümmern muß. Da ich diese Möglichkeit in einem aktuellen Projekt eingesetzt habe und einige Fallstricke bei der Benutzung des ReportViewer-Control festgestellt habe, wird ich mal einige Punkte hier beleuchten:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;B style="mso-bidi-font-weight:normal;"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;SampleReport.rdl = SampleReport.rdlc&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Auch wenn in einem VS-Projekt die beiden Reportarten mit unterschiedlichen File-Extensions aufgelistet werden, sind die Dateiformat kompatibel. D.h. Wenn man ein Server-Report *.rdl in ein lokalen – Report umwandeln möchte, muss man nur das File von *.rdl in *.rdlc umbenennen. Dadurch gewinnt man auch noch den XML-Konten für das SQL-Sequenz, um die Daten für diesen Report zu ermitteln. Das habe ich mir zum nutzen gemacht, um die Reports einfach mit dem Server-Report Designer zu erstellen (was im übrigen dann sehr elegant ist, da man den Report inkl. SQL-Statement konfigurieren kann) und dann in das entsprechende Projekt als *.rdlc rein kopieren. Mit dem folgenden Code kann man dann so einen Report einfach lokal laden und render inkl. Datenermittlung:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;private&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:blue;"&gt;void&lt;/SPAN&gt; LoadReportData(&lt;SPAN style="COLOR:teal;"&gt;Dictionary&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt;, &lt;SPAN style="COLOR:blue;"&gt;object&lt;/SPAN&gt;&amp;gt; myParamValues)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:green;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;// Daten laden&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:green;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; mySQL = &lt;SPAN style="COLOR:maroon;"&gt;""&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:teal;"&gt;XmlDocument&lt;/SPAN&gt; myReportXML = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:teal;"&gt;XmlDocument&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;myReportXML.Load(&lt;SPAN style="COLOR:blue;"&gt;this&lt;/SPAN&gt;.reportViewer1.LocalReport.ReportPath);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:teal;"&gt;XmlNodeList&lt;/SPAN&gt; myList = myReportXML.GetElementsByTagName(&lt;SPAN style="COLOR:maroon;"&gt;"DataSet"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;this&lt;/SPAN&gt;.reportViewer1.LocalReport.DataSources.Clear();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;foreach&lt;/SPAN&gt; (&lt;SPAN style="COLOR:teal;"&gt;XmlNode&lt;/SPAN&gt; myDSNode &lt;SPAN style="COLOR:blue;"&gt;in&lt;/SPAN&gt; myList)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:teal;"&gt;DataTable&lt;/SPAN&gt; myDataTable = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:teal;"&gt;DataTable&lt;/SPAN&gt;(myDSNode.Attributes[&lt;SPAN style="COLOR:maroon;"&gt;"Name"&lt;/SPAN&gt;].Value);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:teal;"&gt;XmlNode&lt;/SPAN&gt; myQuery = FindXmlNode(myDSNode, &lt;SPAN style="COLOR:maroon;"&gt;"Query"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;if&lt;/SPAN&gt; (myQuery != &lt;SPAN style="COLOR:blue;"&gt;null&lt;/SPAN&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:teal;"&gt;XmlNode&lt;/SPAN&gt; myCmd = FindXmlNode(myQuery, &lt;SPAN style="COLOR:maroon;"&gt;"CommandText"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:teal;"&gt;XmlNode&lt;/SPAN&gt; myDSName = FindXmlNode(myQuery, &lt;SPAN style="COLOR:maroon;"&gt;"DataSourceName"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt 106.2pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:teal;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;SqlDatabase&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; myDB = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:teal;"&gt;SqlDatabase&lt;/SPAN&gt;(&lt;SPAN style="COLOR:teal;"&gt;ConfigurationManager&lt;/SPAN&gt;.ConnectionStrings[&lt;SPAN style="COLOR:maroon;"&gt;"mySQLConnectionString"&lt;/SPAN&gt;].ConnectionString);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt 35.4pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:teal;"&gt;SqlCommand&lt;/SPAN&gt; myCmd = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:teal;"&gt;SqlCommand&lt;/SPAN&gt;(sSql);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt 35.4pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;if&lt;/SPAN&gt; (myParams != &lt;SPAN style="COLOR:blue;"&gt;null&lt;/SPAN&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt 35.4pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;foreach&lt;/SPAN&gt; (&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; myParam &lt;SPAN style="COLOR:blue;"&gt;in&lt;/SPAN&gt; myParams.Keys)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;myCmd.Parameters.Add(&lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:teal;"&gt;SqlParameter&lt;/SPAN&gt;(myParam, myParams[myParam]));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt 35.4pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:teal;"&gt;DataSet&lt;/SPAN&gt; myDS = myDB.ExecuteDataSet(myCmd);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;if&lt;/SPAN&gt; (myDS.Tables.Count &amp;gt; 0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;myDataTable =myDS.Tables[0]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-tab-count:4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;myDataTable = new DataTable();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:teal;"&gt;ReportDataSource&lt;/SPAN&gt; myData = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:teal;"&gt;ReportDataSource&lt;/SPAN&gt;(myDSName.InnerText, myDataTable);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;this&lt;/SPAN&gt;.reportViewer1.LocalReport.DataSources.Add(myData);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;this&lt;/SPAN&gt;.reportViewer1.RefreshReport();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;this&lt;/SPAN&gt;.reportViewer1.Update();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-no-proof:yes;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Diese Funktion holt nun aus der *.rdlc XML-Datei das SQL-Statement und führt es, wobei dieser Funktion auch noch ein Array mit Eingabeparametern übergeben werden kann.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;B style="mso-bidi-font-weight:normal;"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;Parameter-Eingabe bei lokalen Reports im ReportViewer-Control&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Die Parameter-Definition von Reports ist leider bei den lokal gerenderten reports nicht so vollständig implementiert wie bei den serverseitigen Reports. Somit stellt sich das ReportViewer-Control auch im Bereich der Parametr anders dar. Zum Leid der Entwickler muss man sich für die Paramtereingabe eine eingene Lösung bauen, da das Parameter-Panel mit der dynamisch generierten Eingabecontrols für lokale Reports nicht zur Verfügung steht.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Ich habe mir dazu einfach ein Usercontrol gebaut, dem ich einfach per Methode ein Array der ReportParameter übergebe und dieses dann die Eingabecontrols dynmisch generiert:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;public&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt; &lt;SPAN style="COLOR:blue;"&gt;void&lt;/SPAN&gt; SetParamWindow( &lt;SPAN style="COLOR:teal;"&gt;ReportParameterInfoCollection&lt;/SPAN&gt; myParams )&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;SPAN style="mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;mso-bidi-font-family:'Courier New';"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;Dieses Control habe ich dann in meinem eigenen Report-Viewer Control, welches aus einem Split-Container mit zwei Panels besteht und dort einmal mein Parameter-Control und auf der anderen Seite das ReportViewer-Control befinden. Die Parameter werden dann wie folgt an das Parameter-Control übergeben:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:green;FONT-FAMILY:'Courier New';mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;// prüfe ob Report mit Parameter?&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:teal;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;ReportParameterInfoCollection&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt; myParams = reportViewer1.LocalReport.GetParameters();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt; (myParams != &lt;SPAN style="COLOR:blue;"&gt;null&lt;/SPAN&gt; &amp;amp;&amp;amp; myParams.Count &amp;gt; 0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;splitContainer2.Panel1Collapsed = &lt;SPAN style="COLOR:blue;"&gt;false&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;ucReportParameters1.SetParamWindow(myParams);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;splitContainer2.Panel1Collapsed = &lt;SPAN style="COLOR:blue;"&gt;true&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;LoadReportData(&lt;SPAN style="COLOR:blue;"&gt;null&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;SPAN style="mso-ansi-language:EN-GB;"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;B style="mso-bidi-font-weight:normal;"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;Reports dynamisch dem ReportViewer-Control zuweisen&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Nach den o.b. Hürden war ich nun überglücklich lokal gerenderte Reports einfach wie serverseitige Reports zu designen und im ReportViewer-Control auch genau so darzustellen. Nun lässt die Methode &lt;/FONT&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;.reportViewer1.RefreshReport()&lt;/SPAN&gt;&lt;FONT face="Times New Roman" size=3&gt;darauf schlissen, dass mit der Kombination des Properties &lt;/FONT&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;.reportViewer1.LocalReport.ReportPath &lt;/SPAN&gt;&lt;FONT face="Times New Roman" size=3&gt;(welches als&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;ein Getter und ein Setter besitzt) dem ReportVIewer-Control auch zur Laufzeit einmal einen neuen Report zur Darstellung mitgeben kann. Leider hat sich nach einigen frustrierten Test ergeben, das dieses nicht so funktioniert. Entweder ist es ein Feature oder ein Bug! Da ich diese Funktionalität allerdings unbedingt benötigte habe ich mir ein Workaround (mal wieder) gebaut. Der einfachste Trick der mir dazu eingefallen war ist, das anscheint dieses Property nur beim Erzeugen des Controls ausgewertet wird. Somit habe ich in mein Panel vom Split-Container, welches das ReportViewer-Control beinhalttet, einfach zum Zeitpunkt des Neuladen eine neue Instanz des ReportViewer-Control erzeugt habe.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Somit ergibt sich eine Lade-Methoide für neue Reports wie folgt:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;private&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt; &lt;SPAN style="COLOR:blue;"&gt;void&lt;/SPAN&gt; LoadReportByClient(&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; sPath)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;.splitContainer2.Panel2.Controls.Clear();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;.reportViewer1 = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; Microsoft.Reporting.WinForms.&lt;SPAN style="COLOR:teal;"&gt;ReportViewer&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;.reportViewer1.Dock = System.Windows.Forms.&lt;SPAN style="COLOR:teal;"&gt;DockStyle&lt;/SPAN&gt;.Fill;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;.reportViewer1.Location = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; System.Drawing.&lt;SPAN style="COLOR:teal;"&gt;Point&lt;/SPAN&gt;(0, 0);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;.reportViewer1.Name = &lt;SPAN style="COLOR:maroon;"&gt;"reportViewer1"&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;.reportViewer1.Size = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; System.Drawing.&lt;SPAN style="COLOR:teal;"&gt;Size&lt;/SPAN&gt;(454, 366);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;.reportViewer1.TabIndex = 0;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;.splitContainer2.Panel2.Controls.Add(&lt;SPAN style="COLOR:blue;"&gt;this&lt;/SPAN&gt;.reportViewer1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;.reportViewer1.LocalReport.ReportPath = sPath;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:green;FONT-FAMILY:'Courier New';mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;// prüfe ob Report mit Parameter?&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:teal;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;ReportParameterInfoCollection&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt; myParams = reportViewer1.LocalReport.GetParameters();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt; (myParams != &lt;SPAN style="COLOR:blue;"&gt;null&lt;/SPAN&gt; &amp;amp;&amp;amp; myParams.Count &amp;gt; 0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt 35.4pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;splitContainer2.Panel1Collapsed = &lt;SPAN style="COLOR:blue;"&gt;false&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt 35.4pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;ucReportParameters1.SetParamWindow(myParams);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt 35.4pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;splitContainer2.Panel1Collapsed = &lt;SPAN style="COLOR:blue;"&gt;true&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt 35.4pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-GB;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;LoadReportData(&lt;SPAN style="COLOR:blue;"&gt;null&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:8pt;FONT-FAMILY:'Courier New';mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;.reportViewer1.LocalReport.ReportPath&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:DE;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=7" width="1" height="1"&gt;</description><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/Reporting-Service/default.aspx">Reporting-Service</category><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/Development/default.aspx">Development</category></item><item><title>MSDN - Subscribtion for Microsoft Certified Partner</title><link>http://community.devware.de/blogs/tiborcsizmadia/archive/2006/11/29/msdn-subscribtion-for-microsoft-certified-partner.aspx</link><pubDate>Tue, 28 Nov 2006 16:42:00 GMT</pubDate><guid isPermaLink="false">b74bb3cb-98de-4ce8-9db6-bc38a41e19f8:5</guid><dc:creator>Tibor Csizmadia</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Heute habe ich es endlich Geschafft herauszufinden, warum unser MSDN-Zugang seit ca 14 Tagen nicht mehr funtkioniert. Es wurde stetig angezeigt, das unser Abo ausgelaufen wäre, obwohl wir noch einen gültigen Microsoft Partnerstatus haben. Auch mehrer aTelefonate mit der MSDN Hotline hatte keinen Erfolg... &lt;/P&gt;
&lt;P&gt;Aber jetzt weiß ich warum es nicht funktioniert ( und das war/ist auch kein Einzelfall) : Wir waren in der Vergangenheit auch in dem Microsoft Empower Programm enthalten und der MSDN Zugang ist mit meiner E-Mail Adresse verknüpft gewesen. Nun habe ich (blöderweise oder vielleicht ja auch gewollt...) bei der Heraufstufung in das Certified-Programm meine gleiche E-Mail Adresse angegeben wie im Empower Programm und das war der Fehler! Nun ist das Empower Porgramm anscheind geschlossen worden und nach dem Einloggen in die MSDN Subscription Portal, hat das System über meine PartnerID meine E-Mail Adresse festgestellt und mit dieser E-Mail Adresse im MSDN-System nachgeschaut ob wir ein gültigen MSDN Zugang besitzt. Das konnte natürlich nicht funktionieren. Somit ist auch klar das nach den vielen Anrufen bei der MSDN Hotlin und dem ständigen neu assoziieren meines Passports mit dem MSDN-Account immer wieder das gleiche Ergebnis kommen mußte.&lt;/P&gt;
&lt;P&gt;Aber jetzt hab ich den ultimativen Tipp zur Lösung des Problems: Einfach im Partnerportal die Kontakt-Email Adresse im Profil abänder (am besten mit einer E-Mail Adresse die das MSDN System bestimmt nicht kennt) und über die MSDN-Hotline den Zugang nochmal neu assoziieren lassen. Danach sollte es wieder gehen. Oder man wartet einfach bis MIcrosoft diesen Bug irgendwann mal gelöst hat.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://community.devware.de/aggbug.aspx?PostID=5" width="1" height="1"&gt;</description><category domain="http://community.devware.de/blogs/tiborcsizmadia/archive/tags/ISV/default.aspx">ISV</category></item></channel></rss>
