Dieser Beitrag beschreibt, wie man eine Silverlight AutoComplete Box mit dem Inhalt einer BPOS-Liste füllen kann. In diesem Blog beschreibe ich nur diese Funktion und gehe davon aus, dass die Liste asynchron über den Web Service Lists.asmx ausgelesen wurde. Das Ergebnis steht dann in e.Result (eine XML-Auflistung von Datensätzen).
Ich selektieren über einen XML.Linq Ausdruck alle Elemente des ersten Elements unterhalb des Root-Elements. Hier gibt es das Attribut “ows_FullName”, dessen Value als String in eine typisierte Liste geschrieben wird.
var dieListe = (from x in e.Result.Elements().First().Elements()
select x.Attribute(“ows_FullName”).Value);
this.AutoFamilie.ItemsSource = dieListe;
In unserer Silverlight-Anwendung habe ich eine AutoComplete Box definiert.
Der Box wird als ItemSource-Eigenschaft die Liste dieListe zugewiesen. Fertig ist ein typisches Ajax-Element. Für eigene Anwendung muss man lediglich den Namen des x.Attribute anpassen.
Die beschriebene Logik funktioniert mit jeder Liste, die das Interface IEnumerable implementiert.
