2011-06-03 62 views

回答

4

这是一次性查询还是您想要以某种方式实现?

如果一次性,那么你可以使用此查询:

<Where> 
     <Or> 
     <Or> 
      <Or> 
       <Or> 
        <Or> 
        <Or> 
         <Or> 
          <Or> 
           <Or> 
           <BeginsWith> 
            <FieldRef Name='Title' /> 
            <Value Type='Text'>0</Value> 
           </BeginsWith> 
           <BeginsWith> 
            <FieldRef Name='Title' /> 
            <Value Type='Text'>1</Value> 
           </BeginsWith> 
           </Or> 
           <BeginsWith> 
           <FieldRef Name='Title' /> 
           <Value Type='Text'>2</Value> 
           </BeginsWith> 
          </Or> 
          <BeginsWith> 
           <FieldRef Name='Title' /> 
           <Value Type='Text'>3</Value> 
          </BeginsWith> 
         </Or> 
         <BeginsWith> 
          <FieldRef Name='Title' /> 
          <Value Type='Text'>4</Value> 
         </BeginsWith> 
        </Or> 
        <BeginsWith> 
         <FieldRef Name='Title' /> 
         <Value Type='Text'>5</Value> 
        </BeginsWith> 
        </Or> 
        <BeginsWith> 
        <FieldRef Name='Title' /> 
        <Value Type='Text'>6</Value> 
        </BeginsWith> 
       </Or> 
       <BeginsWith> 
        <FieldRef Name='Title' /> 
        <Value Type='Text'>7</Value> 
       </BeginsWith> 
      </Or> 
      <BeginsWith> 
       <FieldRef Name='Title' /> 
       <Value Type='Text'>8</Value> 
      </BeginsWith> 
     </Or> 
     <BeginsWith> 
      <FieldRef Name='Title' /> 
      <Value Type='Text'>9</Value> 
     </BeginsWith> 
     </Or> 
    </Where> 

另一种方法是获取所有项目,使用SPListItemCollection。 GetDataTable()方法返回数据表,并在那里过滤你的记录。

如果List包含很多项目,不推荐这种方式,因为它涉及从列表中获取所有项目。

但是,如果您想要在某些功能中实现此功能,可能最好有另一个指示记录类型的列。

如果您在功能中使用此查询,请为该列创建索引。

+0

是的,谢谢@Burt :) – 2011-06-03 10:10:16

+0

您可以使用LINQ构建CAML查询....无需担心结束标记http://sharepointdeveloper.de/21.html – 2011-06-03 10:10:25

+0

您可以检查参数值是否等于字符串CAML? – Burt 2011-06-03 10:17:08