以编程方式将List作为webpart插入WSS 3.0中的Web部件页面

时间:2009-10-19 10:48:52

标签: sharepoint moss web-parts

我尝试在网上搜索以编程方式在网页部分页面中插入一个列表作为webpart但是不够幸运。

我有什么想法或想法以编程方式将列表作为webpart插入网页部分

非常感谢!

3 个答案:

答案 0 :(得分:7)

首先使用语句添加这些。

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

答案 1 :(得分:1)

您需要执行两个步骤才能将网页部件添加到网页中。首先,您必须创建要在页面上显示的列表。因此,您可以使用网站列表集(SPListCollection)的Add()方法。

要在网页部件页面上显示列表,您必须使用页面的ListViewWebPartSPLimitedWebPartManager添加到网页部件页面。

答案 2 :(得分:1)

为了使其更易于作为功能接收器的一部分使用,您可以将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");