簡體   English   中英

以編程方式將List作為webpart插入WSS 3.0中的webpart頁面

[英]Programmatically insert a List as a webpart in a webpart page in WSS 3.0

我嘗試在網上搜索以編程方式在Webpart頁面中插入一個List作為webpart但是不夠幸運。

任何想法或想法如何我可以編程方式在Webpart頁面中插入一個列表作為webpart

非常感謝!

首先添加這些使用語句。

using Microsoft.SharePoint;
using Microsoft.SharePoint.WebPartPages;

然后在你的代碼中

// First get the list
SPSite site = new SPSite("http://myserver");
SPWeb web = site.OpenWeb();
SPList list = web.Lists["MyCustomlist"];

// Create a webpart
ListViewWebPart wp = new ListViewWebPart();
wp.ZoneID = "Top";   // Replace this ith the correct zone on your page.
wp.ListName = list.ID.ToString("B").ToUpper();
wp.ViewGuid = list.DefaultView.ID.ToString("B").ToUpper();

// Get the web part collection
SPWebPartCollection coll = 
    web.GetWebPartCollection("default.aspx",    // replace this with the correct page.
    Storage.Shared);

// Add the web part
coll.Add(wp); 

如果您想使用自定義視圖,請嘗試使用以下方法:

SPView view = list.GetUncustomizedViewByBaseViewId(0);
wp.ListViewXml = view.HtmlSchemaXml;

希望它有所幫助,W0ut

為了使其更易於作為功能接收器的一部分使用,您可以將splist和spview作為方法的一部分傳遞:

static public void AddEventsListViewWebPart(PublishingPage page, string webPartZoneId, int zoneIndex, string webPartTitle, PartChromeType webPartChromeType, string listName, string viewname)
{
     using (SPLimitedWebPartManager wpManager = page.ListItem.File.GetLimitedWebPartManager(PersonalizationScope.Shared))
     {
         SPWeb web = page.PublishingWeb.Web;
         SPList myList = web.Lists.TryGetList(listName);
         using (XsltListViewWebPart lvwp = new XsltListViewWebPart())
         {
             lvwp.ListName = myList.ID.ToString("B").ToUpperInvariant();
             lvwp.Title = webPartTitle;
             // Specify the view
             SPView view = myList.Views[viewname];
             lvwp.ViewGuid = view.ID.ToString("B").ToUpperInvariant();
             lvwp.TitleUrl = view.Url;
             lvwp.Toolbar = "None";
             lvwp.ChromeType = webPartChromeType;
             wpManager.AddWebPart(lvwp, webPartZoneId, zoneIndex);
         }
     }
}

然后在功能激活期間調用它:

AddEventsListViewWebPart(welcomePage, "Right", 1, "Events", PartChromeType.TitleOnly, "Events", "Calendar");

您需要執行兩個步驟才能將Web部件添加到頁面。 首先,您必須創建要在頁面上顯示的列表。 因此,您可以使用網站列表集合的Add()方法( SPListCollection )。

要在Web部件頁面上顯示列表,您必須使用頁面的SPLimitedWebPartManagerListViewWebPart添加到Web部件頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM