Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden

Verwenden von Sharepoint Listen als Datenquellen für CheckBox Lists oder RadioButton Lists

Wer für Sharepoint Web Forms und/oder Controls ent­wi­ckelt, hatte viel­leicht auch schon ein­mal das Bedürfnis, eine Sharepoint Liste als Datenquelle für z.B. eine RadioButton List zu ver­wen­den. Dies lässt sich glück­li­cher­weise mit gerin­gem Aufwand umsetzen:

Hier ist erst ein­mal unsere Sharepoint Beispielliste:

image

Und hier die RadioButton List, an die wir die Liste bin­den wollen:

image image

Wichtig sind hier die Properties DataTextField und DataValueField, die wie ange­zeigt zu bele­gen sind.

Nun benö­ti­gen wir noch einige wenige Zeilen Quellcode, um den Inhalt der Liste in ein Dictionary ein­zu­le­sen und die­ses als Datenquelle an unsere RadioButton List zu binden:

   1: using System;
   2: using System.Collections.Generic;
   3: using System.Text;
   4: using Microsoft.SharePoint;
   5: using System.Web.UI.WebControls;
   6: using System.Web.UI;
   7:
   8: public static class CommonFunctions
   9: {
  10:     public static void BindDataBoundControl(DataBoundControl dataBoundList, SPList list)
  11:     {
  12:          //Einträge aus der Liste in ein Dictionary einlesen
  13:          IDictionary<int, string> listItems = new Dictionary<int, string>();
  14:          foreach (SPListItem item in list.Items)
  15:          {
  16:              listItems.Add(item.ID, item.Title);
  17:          }
  18:          //Dictionary an dataBoundList binden
  19:          dataBoundList.DataSource = listItems;
  20:          dataBoundList.DataBind();
  21:     }
  22: }

Zu guter Letzt noch der Aufruf für unsere Beispielliste:

   1: //"web" ist das SPWeb, in dem sich die Liste befindet
   2: SPList geschlechtList = web.Lists["PersonenGeschlecht"];
   3: CommonFunctions.BindDataBoundControl(Geschlecht, geschlechtList);

Das war's :-).

3. Januar 2008

Pin It on Pinterest