【问题标题】:How get items from folder in Sharepoint list using JavaScript?如何使用 JavaScript 从 Sharepoint 列表中的文件夹中获取项目?
【发布时间】:2017-02-09 19:13:10
【问题描述】:

我有一个 Sharepoint 列表和几个文件夹。我需要使用 JavaScript 获取这些文件夹的内容,最好选择一个文件夹,只有 AddData 列日期等于当前日期的项目。我想请你帮忙。我唯一设法得到的是:

 context = SP.ClientContext.get_current();
 var web = context.get_web();
 list = context.get_web().get_lists().getByTitle("ExchangeRateList");
 var camlString =
    "<View><ViewFields>" +
        "<FieldRef Name='Title' />" +
        "<FieldRef Name='Modified' />" +
        "<FieldRef Name='Created' />"+
    "</ViewFields></View>";

    var camlQuery = new SP.CamlQuery();
    camlQuery.View
    camlQuery.set_viewXml(camlString);
    allAnnouncements = list.getItems(camlQuery);
    var enumerator = allAnnouncements.getEnumerator();
    while (enumerator.moveNext()) {
            var announcement = enumerator.get_current();
            var title = announcement.get_item("Title")
    ...

announcement 是我的文件夹,但是如何从这个文件夹中获取项目?并检查 AddData 列?

【问题讨论】:

    标签: javascript sharepoint sharepoint-2013 splistitem


    【解决方案1】:
    • 指定 CAML Today Element 以格式呈现当前日期 相对于服务器的本地时区
    • Scope="RecursiveAll" 设置为View element 以包括以下项目 文件夹

    查询

    <View Scope="RecursiveAll"> 
          <Query>
              <Where>
                 <Eq>
                      <FieldRef Name="AddData" />  
                      <Value Type="DateTime">   
                        <Today />   
                      </Value>   
                 </Eq>
              </Where>   
         </Query>
    </View>
    

    示例

    var listTitle = 'Announcements';
    
      var context = new SP.ClientContext.get_current();
      var web = context.get_web();
      var list = web.get_lists().getByTitle(listTitle);
      var listItems = list.getItems(createQuery());
    
    
      context.load(listItems);
      context.executeQueryAsync(
         function() {
    
            var c = listItems.get_count();  
            for(var i = 0; i< c;i++ ) {
              var listItem = listItems.getItemAtIndex(i);
              console.log(listItem.get_item('Title')); 
              //...
            }  
         },
         function(sender,args){
            console.log(args.get_message());
         }
      );
    
    
    
      function createQuery()
      {
        var qry = new SP.CamlQuery();
        qry.set_viewXml('<View Scope="RecursiveAll"> \
                            <Query>  \
                               <Where>  \
                                 <Eq>   \
                                   <FieldRef Name="AddData" />  \
                                   <Value Type="DateTime">   \
                                     <Today />   \
                                   </Value>   \
                                 </Eq>  \
                               </Where>   \
                            </Query>  \
                         </View>');
        return qry;
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多