2010-05-17 5 views
1

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

Любые примеры или ссылки на примеры, оцененные!

Благодаря

Dan

ответ

0

Что вы ищете называется Toolpart. Посмотрите на this example для учебника о том, как его создать.

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

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

Большое спасибо это маршрут, я пошел вниз и статью MSDN заставил меня идти. – ifunky

0

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

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

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(); 
} 
Смежные вопросы