我已经创建了一个带有一些自定义字段的SPList实例.但是当我在sharepoint(默认视图)中查看此列表时,只显示"标题"列.如何将我的列添加到新创建的列表的默认视图中?
我试过了:
list.Fields.Add("Foo", SPFieldType.Text, true):
list.View[0].ViewFields.Add("Foo");
list.View[0].Update();
list.Update();
Run Code Online (Sandbox Code Playgroud)
但不起作用.
我有一个自定义列表,可以包含CustomContentType.这是我创建一个新项目的方式:
//Create root folder
SPListItem rootItem = navigation.Items.Add();
SPContentType folderType = navigation.ContentTypes["ListLevel"];
rootItem[SPBuiltInFieldId.Title] = "root";
rootItem["ContentTypeId"] = folderType.Id;
rootItem.Update();
Run Code Online (Sandbox Code Playgroud)
问题是,当我看到我的列表后,我看到:

当我通过webbrowser转到列表并手动创建内容类型时,一切都很好.(这意味着标题是"根"而不是ID).
是否可以遍历共享点列表的字段集合并仅检索我们的自定义字段而不是sharepoint内置字段.
using (SPSite site = new SPSite("http://localhost/"))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["My List"];
foreach (SPField field in list.Fields)
{
//We also get sharepoint built-in column here. And we don't want that, just our
//custom created fields.
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
谢谢
我正在开发一个SharePoint 2010项目,我有几个站点.每个站点下都包含一个包含新闻的列表,我想将事件接收器附加到这些列表中.
下面的站点和列表是以编程方式创建的,但我无法附加我在VS2010解决方案中的事件接收器.
我试过这个:
SPList list = new SPSite(siteURL).OpenWeb().Lists[listName];
SPEventReceiverDefinitionCollection eventReceivers = list.EventReceivers;
SPEventReceiverDefinition eventReceiver = eventReceivers.Add();
eventReceiver.Name = receiverName;
eventReceiver.Synchronization = SPEventReceiverSynchronization.Synchronous;
eventReceiver.Type = SPEventReceiverType.ItemAdded;
eventReceiver.SequenceNumber = sequenceNumber;
eventReceiver.Assembly = assemblyFullName;
eventReceiver.Class = assemblyClassName;
eventReceiver.Data = receiverData;
eventReceiver.Update();
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
错误消息是"无法加载文件或程序集'Projekt_Test1 \,\,Version\= 1.0.1777.23493 \,Culture\= neutral \,PublicKeyToken\= 49c7547d535382ab'或其依赖项之一.给定的程序集名称或代码库无效.(HRESULT异常:0x80131047)"
感谢帮助.
我使用下面的代码,它给我列表和文档库; 但我想获取只有文档库的列表.请帮我如何以编程方式区分列表和文档库
using(SPSite oSite = new SPSite("https://server/site"))
{
using (SPWeb oWeb = oSite.OpenWeb())
{
SPListCollection oLists = oWeb.Lists;
foreach (SPList olist in oLists)
{
Response.Write(olist.Title+"<br>");
}
}
}
Run Code Online (Sandbox Code Playgroud) 我试图在 SPList 项上设置 ForceCheckout 属性,但它不执行。我根据需要调用 Update() 命令。本质上,它所需要的只是以下两行。
$myList.ForceCheckout = $false
$myList.Update()
Run Code Online (Sandbox Code Playgroud)
有什么想法为什么这不起作用吗?无论如何,它仍然是 $true。
我在SharePoint 2010解决方案中创建了一个列表定义和一个包含xml代码的列表实例.现在,每次部署我的解决方案时,它都会删除列表并创建一个新列表.我只想创建列表,如果它不存在.
如何检查列表是否已存在以及我在何处放置代码?
我的列表定义和列表实例出现在我的一个功能中的"功能中的项目"中.
我有一些代码可以复制 SharePoint 2007 中新网站的列表模板文件。它检查SPList.LastItemModified是否有新闻条目,以便知道是否创建新.STP文件。
我还希望能够查看列表是否被修改,例如视图和列等。
谁能帮我解决这个问题吗?谢谢。
我正在创建一个列表视图-以编程方式使用XML。标题字段仅包含年份(列表是某种年度报告)。据我了解,在中的CAML中过滤此项目并非易事<Where>,我希望只能显示3个年份最高的项目。
我可以<RowLimit>在ListDefinition的<View>部分中使用或类似的东西吗?再加上<OrderBy>,就可以解决问题。
<Query>
<OrderBy>
<FieldRef Name='Title' Ascending='False' />
</OrderBy>
<Query>
Run Code Online (Sandbox Code Playgroud) 所以我知道如何从列表中断继承(SPList.BreakRoleInheritance(true)),但是如何以编程方式从它的父级重新加载?
谢谢
你能告诉我如何使用CAML查询将存储在SPList中的日期和时间作为DateTime字段与当前系统时间进行比较吗?
splist ×11
sharepoint ×8
c# ×4
caml ×1
events ×1
list ×1
moss ×1
powershell ×1
roles ×1
splistitem ×1
view ×1
wss ×1