CAML查询自定义内容类型

时间:2010-12-14 20:35:10

标签: sharepoint-2010

我正在寻找Daivd Hill帖子中提到的相同目标,但仍然无法获得我的查询的自定义内容类型;

string dateString = (DateTime.Now.Add(new TimeSpan(-5, 0, 0, 0, 0))).ToString("yyyy-MM-ddThh:mm:ssZ");
string q= String.Format("Where And"+"Eq FieldRef Name='ContentTypeId'/" + "Value Type='Text'0x010100C568DB52D9D0A14D9B2FDCC96666E9F2007948130EC3DB064584E219954237AF3900242457EFB8B24247815D688C526CD44D08/Value /Eq"+
"Eq FieldRef Name='Created'/" +
"Value Type='DateTime'{0} /Value /Eq ", dateString+ " /And /Where");

SPSiteDataQuery query = new SPSiteDataQuery();

query.Query= q;

之后该怎么办 - >我应该在哪里执行查询,因为我试图反对内容类型,我发现的大多数示例都是关于内置列表,如任务公告..等等

在查询中我试图根据为5天前创建的ID获取特定的自定义内容类型

如果您有任何想法可以提供帮助,或者您可以举例说明您的解决方案是什么感谢Azo

1 个答案:

答案 0 :(得分:1)

这样的事情对我很有用,但我在查询清单。

string dateInCorrectFormat = SPUtility.CreateISO8601DateTimeFromSystemDateTimeDateTime.Now.AddDays(-5));
SPQuery query = new SPQuery();
//Query below
query.Query = String.Format( .... ,    dateInCorrectFormat);
SPListItemCollection items = list.GetItems(query);

<Where>
      <And>
          <BeginsWith>
               <FieldRef Name='ContentTypeId' />
               <Value  Type='ContentTypeId'>0x0100XCustomContentypeIdHereX</Value>
          </BeginsWith>
          <Lt>
               <FieldRef Name='Created'/>
               <Value Type='DateTime' IncludeTimeValue='TRUE'>{0}</Value>
         </Lt>
    </And>
</Where>

希望这有帮助。