Sharepoint webpart комбинированный список - PullRequest
1 голос
/ 17 мая 2010

У меня есть веб-часть, которая работает вне списка, но я пытаюсь создать раскрывающийся список, содержащий список списков общих точек доступа, чтобы при редактировании страницы пользователем и выборе «изменить общую веб-часть» он мог выберите элемент списка, и он будет проанализирован обратно в веб-часть.

Любые примеры или ссылки на примеры приветствуются!

Спасибо

Dan

Ответы [ 2 ]

0 голосов
/ 18 мая 2010

Звучит так, будто вы хотите создать собственную часть редактора. В этой части у вас будет один раскрывающийся список, в котором будут отображаться имена списков (возможно, вы хотите отфильтровать скрытые и пустые списки), а при выборе элемента из списка второй раскрывающийся список показывает столбец заголовка элементов из выбранного список.

Вот некоторый код (отредактированный здесь, поэтому его нужно будет очистить), чтобы помочь вам начать:

protected Page_Load(...)
{
    if (IsPostBack) return;

    var web = SPContext.Current.Web;
    var query = from list in web.Lists
                where list.Hidden == false && list.ItemCount == 0
                select list;

    DropDownList1.DataSource = query;
    DropDownList1.DataTextField = "Title";
    DropDownList1.DataBind();
}

protected DropDownList1_SelectedIndexChanged(...)
{
    var web = SPContext.Current.Web;
    var listName = DropDownList1.Text;
    var list = web.Lists[listName];
    var table = list.Items.GetDataTable();
    DropDownList2.DataSource = table;
    DropDownList2.DataTextField = "Title";
    DropDownList2.DataValueField = "ID";
    DropDownList2.DataBind();
}
0 голосов
/ 18 мая 2010

То, что вы ищете, называется Toolpart. Взгляните на этот пример , чтобы узнать, как его создать.

В целом, ваши общие шаги будут:

  1. Создайте свой собственный класс Toolpart, наследующий от Microsoft.SharePoint.WebPartPages.ToolPart
  2. В своей пользовательской части инструментов переопределите CreateChildControls, напишите код для перебора списков в вашем SPWeb и добавьте их в DropDownList
  3. В вашей веб-части переопределите GetToolParts и добавьте свою настраиваемую панель инструментов, чтобы она отображалась справа
...