次の方法で共有


SP へListItemCollectionPosition オブジェクト (sp.js)

リスト ビューのデータの次のページを取得するために必要な情報を指定します。

**適用対象:**apps for SharePoint | SharePoint Foundation 2013 | SharePoint Server 2013

var object = new SP.ListItemCollectionPosition()

メンバー

ListItemCollectionPositionオブジェクトでは、次のメンバーがあります。

Constructor

ListItemCollectionPositionオブジェクトでは、次のコンスがあります。

コンストラクター

説明

ListItemCollectionPosition

Initializes a new instance of the SP.ListItemCollectionPosition object.

メソッド

ListItemCollectionPositionオブジェクトでは、次の方法があります。

メソッド

説明

initPropertiesFromJson

writeToXml

プロパティ

ListItemCollectionPositionオブジェクトでは、次のプロパティがあります。

プロパティ

説明

pagingInfo

Gets or sets a value that specifies information, as name-value pairs, required to get the next page of data for a list view.

typeId

このメンバーは内部使用のために予約済みです。ユーザーのコードから直接使用されるものではありません。

次の例では、一度に 2 つの現在の web サイトでのお知らせリストからタイトルを表示するアプリケーション ページの [入力] ボタンを作成します。

<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">
<script type="text/ecmascript" language="ecmascript">

var listItems;                   // The list of retrieved items.
var query;                       // For paging, reuse the same query object.
var targetList;                  // The list from which to retrieve items.
var clientContext;

function runCode() {
  clientContext = new SP.ClientContext();
  targetList = clientContext.get_web().get_lists().getByTitle('Announcements');
  query = new SP.CamlQuery();
  query.set_viewXml("<View><ViewFields><FieldRef Name='Title'/></ViewFields><RowLimit>2</RowLimit></View>");
  listItems = targetList.getItems(query);
  clientContext.load(listItems); 
  clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}

function onQuerySucceeded() {
  var message = "Titles, two at a time:\n";
  var listEnumerator = listItems.getEnumerator();
  while (listEnumerator.moveNext())  {
    message += "\nTitle=" + listEnumerator.get_current().get_item("Title")
  }
  alert(message);
  var position = listItems.get_listItemCollectionPosition();
  if (position != null) {
    query.set_listItemCollectionPosition(position);
    listItems = targetList.getItems(query);
    clientContext.load(listItems);  
    clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
  }
  
}

function onQueryFailed(sender, args) {
  alert('Request failed. \nError: ' + args.get_message() + '\nStackTrace: ' + args.get_stackTrace());
}
</script>

    <input id="Button1" type="button" value="Run Code" onclick="runCode()" />

</asp:Content>