<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->

  <title>Ranger REST API: VXStringList</title>

  <!-- Mobile viewport optimized: j.mp/bplateviewport -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- Bootstrap core CSS -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">

  <!--custom css for these pages-->
  <link rel="stylesheet" href="css/enunciate.css">

  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
  <!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  <![endif]-->
</head>

<body data-spy="scroll" data-target="#apinav">

  <nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container-fluid">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="index.html">Ranger REST API: VXStringList</a>
      </div>
      <div id="navbar" class="navbar-collapse collapse">
        <ul class="nav navbar-nav navbar-right">
          <li><a href="resources.html">Resources</a></li>
          <li><a href="data.html">Data Types</a></li>
        </ul>
      </div>
    </div>
  </nav>

  <div class="container-fluid">
    <div class="row">
      <div class="col-sm-3 col-md-2 sidebar" id="apinav">
        <ul class="nav nav-sidebar">
          <li class="text-right"><a href="#top"><small>Back to Top</small></a></li>
        </ul>
      </div>

      <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
        <ol class="breadcrumb" id="top">
          <li class="active dropdown"><a href="index.html">Home</a></li>
          <li class="active dropdown"><a href="syntax_json.html">JSON</a></li>
          <li class="dropdown"><a href="json_VXStringList.html">VXStringList</a></li>
        </ol>

      <h1 class="page-header">VXStringList <small>Data Type</small></h1>

      <p></p>

      <dl class="dl-horizontal">
      </dl>

      <table class="table datatype-properties">
        <caption>Properties</caption>
        <thead>
        <tr>
          <th>name</th>
          <th>data type</th>
          <th>description</th>
        </tr>
        </thead>
        <tbody>
        <tr>
          <td>  <span id="prop-vXStrings" class="property-name">vXStrings</span>
</td>
          <td>  <span class="datatype-reference">array of <a href="json_VXString.html">VXString</a>
</span>
</td>
          <td>  <span class="property-description"></span>
</td>
        </tr>
        </tbody>
        <tr>
          <td colspan="3"><h5 class="text-muted">Properties inherited from <a href="json_VList.html">VList</a></h5></td>
        </tr>
        <tbody>
        <tr>
          <td><span class="property-name">listSize</span></td>
          <td><span class="datatype-reference">number
</span></td>
          <td><span class="property-description"></span></td>
        </tr>
        <tr>
          <td><span class="property-name">list</span></td>
          <td><span class="datatype-reference">array of object
</span></td>
          <td><span class="property-description"></span></td>
        </tr>
        <tr>
          <td><span class="property-name">startIndex</span></td>
          <td><span class="datatype-reference">number
</span></td>
          <td><span class="property-description"></span></td>
        </tr>
        <tr>
          <td><span class="property-name">pageSize</span></td>
          <td><span class="datatype-reference">number
</span></td>
          <td><span class="property-description"></span></td>
        </tr>
        <tr>
          <td><span class="property-name">totalCount</span></td>
          <td><span class="datatype-reference">number
</span></td>
          <td><span class="property-description"></span></td>
        </tr>
        <tr>
          <td><span class="property-name">resultSize</span></td>
          <td><span class="datatype-reference">number
</span></td>
          <td><span class="property-description">Returns the value for the member attribute <b>resultSize</b></span></td>
        </tr>
        <tr>
          <td><span class="property-name">sortType</span></td>
          <td><span class="datatype-reference">string
</span></td>
          <td><span class="property-description"></span></td>
        </tr>
        <tr>
          <td><span class="property-name">sortBy</span></td>
          <td><span class="datatype-reference">string
</span></td>
          <td><span class="property-description"></span></td>
        </tr>
        </tbody>
      </table>

      <p class="lead">Example</p>
      
      <pre class="prettyprint language-js example">{
  &quot;vXStrings&quot; : [ {
    &quot;value&quot; : &quot;...&quot;,
    &quot;myClassType&quot; : 12345
  }, {
    &quot;value&quot; : &quot;...&quot;,
    &quot;myClassType&quot; : 12345
  } ],
  &quot;listSize&quot; : 12345,
  &quot;list&quot; : [ { }, { } ],
  &quot;startIndex&quot; : 12345,
  &quot;pageSize&quot; : 12345,
  &quot;totalCount&quot; : 12345,
  &quot;resultSize&quot; : 12345,
  &quot;sortType&quot; : &quot;...&quot;,
  &quot;sortBy&quot; : &quot;...&quot;
}</pre>

        <footer class="footer">
          <div class="container">
            <p class="text-muted">Generated by <a href="http://enunciate.webcohesion.com">Enunciate</a>.</p>
          </div>
        </footer>

      </div>
    </div>
  </div>


  <!-- JavaScript placed at the end of the document so the pages load faster. -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

  <!-- Bootstrap core JavaScript
  ================================================== -->
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>

  <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
  <script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js" type="text/javascript"></script>
  <script>
    $(function() {
      $(".clickable-row").click(function() {
        window.document.location = $(this).data("href");
      });

      $('[data-toggle="tooltip"]').tooltip()
    });
  </script>

</body>
</html>
