2010-05-17 48 views
1

我有一個web列表,它可以在列表中工作,但我正在嘗試創建一個包含SharePoint列表列表的下拉列表,以便當用戶編輯該頁面並選擇「修改共享的webpart '他們可以選擇一個列表項並將其解析回web部件。SharePoint列表中的webpart組合框

任何例子或指向例子的鏈接表示讚賞!

感謝

回答

0

你在找什麼叫做Toolpart。看看this example的教程,瞭解如何創建一個。

總體而言,你的一般步驟是:

  1. 創建自定義Toolpart類從Microsoft.SharePoint.WebPartPages.ToolPart
  2. 繼承在您的自定義Toolpart,覆蓋CreateChildControls,編寫代碼來遍歷在您的SPWeb的列表,添加這些到一個DropDownList
  3. 在你的WebPart,覆蓋GetToolParts並添加自定義ToolPart,使其在右側顯示出來
+0

十分感謝這就是讓我去我去的路線和MSDN文章。 – ifunky 2010-05-20 08:28:58

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(); 
}