<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.9.2" -->
<rss version="0.92">
<channel>
	<title>Ansgar Hinerasky</title>
	<link>http://ansgar.hinerasky.com</link>
	<description>SharePoint Design und Programmierung in der Anwendung</description>
	<lastBuildDate>Mon, 10 May 2010 11:56:12 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>Lookup Felder</title>
		<description><![CDATA[In einem Lookup-Feld werden die Werte mit
ID;#Value
 gespeichert. Natürlich lässt sich eine Funktion bauen, die das ID- und Value-Feld voneinander trennt. Einfacher und sauberer geht es aber mit der Funktion &#8220;SPFieldLookupValue&#8221;. Dabei wird der Spalteneintrag einfach der SPFieldLookupValue Variable zugeordnet. Diese stellt anschließend zwei Variablen zum Auslesen &#8211; und natürlich zum Speichern &#8211; zur Verfügung. [...]]]></description>
		<link>http://ansgar.hinerasky.com/lookup-felder/</link>
			</item>
	<item>
		<title>Datei Upload</title>
		<description><![CDATA[Eine Datei einer Liste anzufügen (File upload) ist mit wenigen Handgriffen erledigt, da es sich bei einer Dateiliste auch wieder um ein List-Objekt handelt und somit die gleichen Funktionen zur Verfügung stehen. 
Im ersten Schritt muss eine Datei ausgewählt oder erzeugt werden. In unserem Bespiel erzeugen wir einen neue leere temporäre Datei und laden diese [...]]]></description>
		<link>http://ansgar.hinerasky.com/datei-upload/</link>
			</item>
	<item>
		<title>CAML &#8211; Number/Integer</title>
		<description><![CDATA[Die CAML-Syntax kennt beim Value-Typ kein &#8220;Integer&#8221; (int). Stattdessen sollte der Typ &#8220;Number&#8221; für eine Zahl verwendet werden. Beispiel:

// Falsch
SPQuery qry = new SPQuery();
qry.Query = &#34;&#60;Where&#62;&#60;Eq&#62;&#60;FieldRef Name='Spaltenname' /&#62;&#60;Value Type='Integer'&#62;12&#60;/Value&#62;&#60;/Eq&#62;&#60;/Where&#62;&#34;;
SPListItemCollection Lst = web.Lists[&#34;listenname&#34;].GetItems(qry);

// Richtig
// Type Integer =&#62; Number
SPQuery qry = new SPQuery();
qry.Query = &#34;&#60;Where&#62;&#60;Eq&#62;&#60;FieldRef Name='Spaltenname' /&#62;&#60;Value Type='Number'&#62;12&#60;/Value&#62;&#60;/Eq&#62;&#60;/Where&#62;&#34;;
SPListItemCollection Lst = web.Lists[&#34;listenname&#34;].GetItems(qry);

]]></description>
		<link>http://ansgar.hinerasky.com/caml-number-intege/</link>
			</item>
	<item>
		<title>LookupId richtig verwenden</title>
		<description><![CDATA[Ein ärgerlicher Flüchtigkeitsfehler passiert, wenn bei einem Lookup das falsche Feld angegeben wird und die CAML-Abfrage alle Werte liefert, statt nur die gefilterten. Verwenden Sie &#8220;LookupId=&#8217;TRUE&#8217;&#8221; bei dem Feldnamen, der abgefragt werden soll. Beispiel: 

using (SPWeb web = new SPSite(&#34;serverURL&#34;).OpenWeb(&#34;sitename&#34;)
{
// Query erstellen
  SPQuery qry = new SPQuery();

  // Alle Einträge mit der Referenz-ID [...]]]></description>
		<link>http://ansgar.hinerasky.com/lookupid-richtig-verwenden/</link>
			</item>
	<item>
		<title>Feld nicht richtig installiert</title>
		<description><![CDATA[Bei der Programmierung einer Abfrage einer SharePoint-Liste erscheint die Fehlermeldung:
Mindestens ein Feld ist nicht richtig installiert. Wechseln Sie zur Listeinestellungsseite, um diese Felder zu löschen.
Die Fehlermeldung kann zwei Ursachen haben, die sich mit relativ einfachen Mitteln lösen lassen:

1. Möglichkeit: Feldname ist nicht vorhanden
Gerade bei Umlauten im Feldnamen (zum Beispiel ein &#8220;ü&#8221;) wandelt SharePoint den Umlaut [...]]]></description>
		<link>http://ansgar.hinerasky.com/feld-nicht-richtig-installiert/</link>
			</item>
	<item>
		<title>&#8220;Unbekannter Fehler&#8221; bei der SharePoint Entwicklung</title>
		<description><![CDATA[Gerade bei der Entwicklung und beim Testen von Webpart kommt der schöne Fehler:  
Es ist ein unerwarteter Fehler aufgetreten.
Webpart-Wartungsseite: Falls Sie über die entsprechende Berechtigung verfügen, können Sie diese Webseite verwenden, um vorübergehend Webparts zu schließen oder die Personalisierung zu entfernen. Wenden Sie sich an Ihren Websiteadministrator, um weitere Informationen zu erhalten.
Viel mehr steht [...]]]></description>
		<link>http://ansgar.hinerasky.com/unbekannter-fehler-bei-der-sharepoint-entwicklung/</link>
			</item>
	<item>
		<title>SharePoint Server Controls</title>
		<description><![CDATA[Neben den normalen Windows-Forms-Controls, stellt SharePoint auch eigene Controls zur Verfügung, die bei der Webpart-Entwicklung sehr gut verwendet werden können. Eine Auswahl aus dem Namespace Microsoft.SharePoint.WebControls: 
Eingabe:

DateTimeControl 
InputFormTextBox
InputFormCheckBox
InputFormCheckBoxList
InputFormCheckBoxListValidator 
InputFormRadioButton 
PeopleEditor 
ListFieldIterator 
ListViewByQuery
WebApplicationSelector 

Validation / Überprüfung:

InputFormRequiredFieldValidator
InputFormRangeValidator
InputFormCompareValidator
InputFormRegularExpressionValidator
InputFormCheckBoxListValidator
InputFormCustomValidator

Quelle.
]]></description>
		<link>http://ansgar.hinerasky.com/sharepoint-server-controls/</link>
			</item>
	<item>
		<title>DateTimeControl</title>
		<description><![CDATA[Für die Eingabe von Datumswerten, muss nicht zwingend eine Textbox benutzt werden. Wie bei der normalen Windows-Programmierung auch, bietet SharePoint das Control DateTimeControl an. Die Einbindung erfolgt ganz normal (also per .RenderControl). Beim Instantiieren lassen sich noch weitere nette Einstellungen vornehmen.
Einbindung:

protected override void CreateChildControls() {
  base.CreateChildControls();
  datumsauswahl = new DateTimeControl();
  datumsauswahl.ID = [...]]]></description>
		<link>http://ansgar.hinerasky.com/datetimecontrol/</link>
			</item>
	<item>
		<title>Schnelles Listen-Update</title>
		<description><![CDATA[Die Bearbeitung von Listeneinträge ist keine triviale Sache. Insbesondere wenn es sich um einige hundert Einträge handelt, sollte man sich überlegen, wie dieser Vorgang schneller ausgeführt werden kann, so dass der Benutzer nicht warten muss. Die Update()-Methoden jedes Mal neu aufzurufen, macht den Vorgang unnötig länger. Eine schnellere Methoden ist die Funktion ProcessBatchData.
Die ProcessBatchData-Methoden bekommt [...]]]></description>
		<link>http://ansgar.hinerasky.com/schnelles-listen-update/</link>
			</item>
	<item>
		<title>Zugriff auf Listen &#8211; Abfragen</title>
		<description><![CDATA[Gerade bei der sehr langen und ausführlichen Listen, sollte man sich überlegen, wie die Abfragen gestaltet werden. Prinzipiell sollte immer nur so viel abgefragt werden, wie gerade benötigt wird. Und mehr auch nicht. Ein guter Weg geht über SPQuery. Hier wird festgelegt, welche Daten abgefragt werden, so dass eben nicht alle verfügbaren Daten geladen werden [...]]]></description>
		<link>http://ansgar.hinerasky.com/zugriff-auf-listen-abfragen/</link>
			</item>
</channel>
</rss>
