# IScenario

## Content

<div class="docapp-java-api-doc-main"><style>:not(h1, h2, h3, h4, h5, h6)>code,
:not(h1, h2, h3, h4, h5, h6)>tt {
    font-size: 14px;
    padding-top: 4px;
    margin-top: 8px;
    line-height: 1.4em;
}

.summary-table dt code {
    font-size: 14px;
    vertical-align: top;
    padding-top: 4px;
}

.tab {
    background-color: #0066FF;
    color: #ffffff;
    padding: 8px;
    width: 5em;
    font-weight: bold;
}

/*
 * Styles for page header and footer.
 */
.title {
    color: #2c4557;
    margin: 10px 0;
}

.sub-title {
    margin: 5px 0 0 0;
}

.header ul {
    margin: 0 0 15px 0;
    padding: 0;
}

.header ul li,
.footer ul li {
    list-style: none;
}

/*
 * Styles for headings.
 */
.summary h2,
.details h2,
h2,
.block-list h2 {
    padding: 0;
    margin: 15px 0;
}

.summary h3,
.details h3,
.summary .inherited-list h2 {
    background-color: var(--ds-product-color);
    color: #fff;
    border: 1px solid #d0d9e0;
    padding: 7px 5px;
}

.summary h3 a,
.details h3 a,
.summary .inherited-list h2 a {
    color: #fff !important;
}
/*
 * Styles for page layout containers.
 */
dl.notes>dt {
    font-size: 12px;
    font-weight: bold;
    margin: 10px 0 0 0;
    color: #4E4E4E;
}

dl.notes>dd {
    margin: 5px 10px 10px 0;
    font-size: 14px;
}

dl.name-value>dt {
    margin-left: 1px;
    font-size: 1.1em;
    display: inline;
    font-weight: bold;
}

dl.name-value>dd {
    margin: 0 0 0 1px;
    font-size: 1.1em;
    display: inline;
}

/*
 * Styles for lists.
 */
li.circle {
    list-style: circle;
}

ul.horizontal li {
    display: inline;
    font-size: 0.9em;
}

div.inheritance {
    margin: 0;
    padding: 0;
}

div.inheritance div.inheritance {
    margin-left: 2em;
}

ul.block-list,
ul.details-list,
ul.member-list,
ul.summary-list {
    margin: 10px 0 10px 0;
    padding: 0;
}

ul.block-list>li,
ul.details-list>li,
ul.member-list>li,
ul.summary-list>li {
    list-style: none;
    margin-bottom: 15px;
    line-height: 1.4;
}

.summary-table dl,
.summary-table dl dt,
.summary-table dl dd {
    margin-top: 0;
    margin-bottom: 1px;
}

ul.see-list,
ul.see-list-long {
    padding-left: 0;
    list-style: none;
}

ul.see-list li {
    display: inline;
}

ul.see-list li:not(:last-child):after,
ul.see-list-long li:not(:last-child):after {
    content: ", ";
    white-space: pre-wrap;
}

/*
 * Styles for tables.
 */
.summary-table,
.details-table {
    width: 100%;
    border-spacing: 0;
    border-left: 1px solid #EEE;
    border-right: 1px solid #EEE;
    border-bottom: 1px solid #EEE;
    padding: 0;
}

.caption {
    position: relative;
    text-align: left;
    background-repeat: no-repeat;
    color: #253441;
    font-weight: bold;
    clear: none;
    overflow: hidden;
    padding: 0;
    padding-top: 10px;
    padding-left: 1px;
    margin: 0;
    white-space: pre;
}

.caption a:link,
.caption a:visited {
    color: #1f389c;
}

.caption a:hover,
.caption a:active {
    color: #FFFFFF;
}

.caption span {
    white-space: nowrap;
    padding-top: 5px;
    padding-left: 12px;
    padding-right: 12px;
    padding-bottom: 7px;
    display: inline-block;
    background-color: var(--ds-product-color);
    color: #fff;
    border: none;
}

div.table-tabs {
    padding: 10px 0 0 1px;
    margin: 0;
}

div.table-tabs>button {
    border: none;
    cursor: pointer;
    padding: 5px 12px 7px 12px;
    font-weight: bold;
    margin-right: 3px;
}

div.table-tabs>button.active-table-tab {
    background: var(--ds-product-color);
    color: #fff;
}

div.table-tabs>button.table-tab {
    background: var(--ds-product-color);
    color: #FFFFFF;
    border-bottom: 1px solid #eee;
}

.two-column-summary {
    display: grid;
    grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
}

.three-column-summary {
    display: grid;
    grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto);
}

.four-column-summary {
    display: grid;
    grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto);
}

@media screen and (max-width: 600px) {
    .two-column-summary {
        display: grid;
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 800px) {
    .three-column-summary {
        display: grid;
        grid-template-columns: minmax(10%, max-content) minmax(25%, auto);
    }

    .three-column-summary .col-last {
        grid-column-end: span 2;
    }
}

@media screen and (max-width: 1000px) {
    .four-column-summary {
        display: grid;
        grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
    }
}

.summary-table>div,
.details-table>div {
    text-align: left;
    padding: 8px 3px 3px 7px;
}

.col-first,
.col-second,
.col-last,
.col-constructor-name,
.col-summary-item-name {
    vertical-align: top;
    padding-right: 0;
    padding-top: 8px;
    padding-bottom: 3px;
}

.table-header {
    background: var(--ds-product-color);
    color: #fff;
    font-weight: bold;
}

.col-first,
.col-first {
    font-size: 13px;
}

.col-second,
.col-second,
.col-last,
.col-constructor-name,
.col-summary-item-name,
.col-last {
    font-size: 13px;
}

.col-first,
.col-second,
.col-constructor-name {
    vertical-align: top;
    overflow: auto;
}

.col-last {
    white-space: normal;
}

.col-first a:link,
.col-first a:visited,
.col-second a:link,
.col-second a:visited,
.col-first a:link,
.col-first a:visited,
.col-second a:link,
.col-second a:visited,
.col-constructor-name a:link,
.col-constructor-name a:visited,
.col-summary-item-name a:link,
.col-summary-item-name a:visited,
.constant-values-container a:link,
.constant-values-container a:visited,
.all-classes-container a:link,
.all-classes-container a:visited,
.all-packages-container a:link,
.all-packages-container a:visited {
    font-weight: bold;
}

.table-sub-heading-color {
    background-color: #EEEEFF;
}

.even-row-color,
.even-row-color .table-header {
    background-color: #FFFFFF;
}

.odd-row-color,
.odd-row-color .table-header {
    background-color: #EEEEEF;
}

/*
 * Styles for contents.
 */
.deprecated-content {
    margin: 0;
    padding: 10px 0;
}

div.block {
    font-size: 14px;
}

.col-last div {
    padding-top: 0;
}

.col-last a {
    padding-bottom: 3px;
}

.module-signature,
.package-signature,
.type-signature,
.member-signature {
    font-size: 14px;
    margin: 14px 0;
    white-space: pre-wrap;
}

.module-signature,
.package-signature,
.type-signature {
    margin-top: 0;
}

.member-signature .type-parameters-long,
.member-signature .parameters,
.member-signature .exceptions {
    display: inline-block;
    vertical-align: top;
    white-space: pre;
}

.member-signature .type-parameters {
    white-space: normal;
}

/*
 * Styles for formatting effect.
 */
.source-line-no {
    color: green;
    padding: 0 30px 0 0;
}

h1.hidden {
    visibility: hidden;
    overflow: hidden;
    font-size: 10px;
}

.block {
    display: block;
    margin: 0 10px 5px 0;
    color: #474747;
}

.deprecated-label,
.descfrm-type-label,
.implementation-label,
.member-name-label,
.member-name-link,
.module-label-in-package,
.module-label-in-type,
.override-specify-label,
.package-label-in-type,
.package-hierarchy-label,
.type-name-label,
.type-name-link,
.search-tag-link,
.preview-label {
    font-weight: bold;
}

.deprecation-block {
    font-size: 14px;
    border-style: solid;
    border-width: thin;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 10px;
    margin-right: 10px;
    display: inline-block;
}

.preview-block {
    font-size: 14px;
    border-style: solid;
    border-width: thin;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 10px;
    margin-right: 10px;
    display: inline-block;
}

/*
 * Styles for user-provided tables.
 *
 * borderless:
 *      No borders, vertical margins, styled caption.
 *      This style is provided for use with existing doc comments.
 *      In general, borderless tables should not be used for layout purposes.
 *
 * plain:
 *      Plain borders around table and cells, vertical margins, styled caption.
 *      Best for small tables or for complex tables for tables with cells that span
 *      rows and columns, when the "striped" style does not work well.
 *
 * striped:
 *      Borders around the table and vertical borders between cells, striped rows,
 *      vertical margins, styled caption.
 *      Best for tables that have a header row, and a body containing a series of simple rows.
 */

table.borderless,
table.plain,
table.striped {
    margin-top: 10px;
    margin-bottom: 10px;
}

table.borderless>caption,
table.plain>caption,
table.striped>caption {
    font-weight: bold;
    font-size: smaller;
}

table.borderless th,
table.borderless td,
table.plain th,
table.plain td,
table.striped th,
table.striped td {
    padding: 2px 5px;
}

table.borderless,
table.borderless>thead>tr>th,
table.borderless>tbody>tr>th,
table.borderless>tr>th,
table.borderless>thead>tr>td,
table.borderless>tbody>tr>td,
table.borderless>tr>td {
    border: none;
}

table.borderless>thead>tr,
table.borderless>tbody>tr,
table.borderless>tr {
    background-color: transparent;
}

table.plain {
    border-collapse: collapse;
    border: 1px solid black;
}

table.plain>thead>tr,
table.plain>tbody tr,
table.plain>tr {
    background-color: transparent;
}

table.plain>thead>tr>th,
table.plain>tbody>tr>th,
table.plain>tr>th,
table.plain>thead>tr>td,
table.plain>tbody>tr>td,
table.plain>tr>td {
    border: 1px solid black;
}

table.striped {
    border-collapse: collapse;
    border: 1px solid black;
}

table.striped>thead {
    background-color: #E3E3E3;
}

table.striped>thead>tr>th,
table.striped>thead>tr>td {
    border: 1px solid black;
}

table.striped>tbody>tr:nth-child(even) {
    background-color: #EEE
}

table.striped>tbody>tr:nth-child(odd) {
    background-color: #FFF
}

table.striped>tbody>tr>th,
table.striped>tbody>tr>td {
    border-left: 1px solid black;
    border-right: 1px solid black;
}

table.striped>tbody>tr>th {
    font-weight: normal;
}
</style><h1>Interface IScenario</h1>
<!-- ======== START OF CLASS DATA ======== -->

<section class="class-description" id="class-description">
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IScenario</span></div>
<div class="block">A scenario is a group of input values (called changing cells) that's named and saved. <p>An  <code>IScenario</code> represents a saved What-If analysis input set for a worksheet. It stores a scenario name together with the changing cells and can be shown, updated,  hidden, locked, or deleted.</p>
<pre><code data-language="Java">
 worksheet.getRange("B2:B3").setValue(new Object[][] {
     {100},
     {120}
 });
 IScenario scenario = worksheet.getScenarios().add("Forecast", worksheet.getRange("B2:B3"));
 scenario.setComment("Projected sales inputs");
 </code></pre></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div aria-orientation="horizontal" class="table-tabs" role="tablist"><button aria-controls="method-summary-table.tabpanel" aria-selected="true" class="active-table-tab" id="method-summary-table-tab0" onclick="show('method-summary-table', 'method-summary-table', 3)" onkeydown="switchTab(event)" role="tab" tabindex="0">All Methods</button><button aria-controls="method-summary-table.tabpanel" aria-selected="false" class="table-tab" id="method-summary-table-tab2" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" onkeydown="switchTab(event)" role="tab" tabindex="-1">Instance Methods</button><button aria-controls="method-summary-table.tabpanel" aria-selected="false" class="table-tab" id="method-summary-table-tab3" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" onkeydown="switchTab(event)" role="tab" tabindex="-1">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div aria-labelledby="method-summary-table-tab0" class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#changeScenario(com.grapecity.documents.excel.IRange)">changeScenario</a><wbr>(<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;changingCells)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Changes the scenario to have a new set of changing cells.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#changeScenario(com.grapecity.documents.excel.IRange,java.util.List)">changeScenario</a><wbr>(<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;changingCells,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a>&gt;&nbsp;values)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Changes the scenario to have a new set of changing cells and scenario values.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#delete()">delete</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Deletes this scenario.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#getChangingCells()">getChangingCells</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets a  <a href="IRange.html" title="interface in com.grapecity.documents.excel"><code>IRange</code></a> object that represents the changing cells for the scenario.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#getComment()">getComment</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the comment text associated with the scenario.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#getHidden()">getHidden</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets whether the scenario is hidden.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#getIndex()">getIndex</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the index of this scenario in the worksheet's scenario collection.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#getLocked()">getLocked</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets whether the scenario is locked.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#getName()">getName</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the scenario name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#getValues()">getValues</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns a list that contains the current values of the changing cells for the scenario.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#setComment(java.lang.String)">setComment</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;comment)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Sets a String value that represents the comment associated with the scenario.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#setHidden(boolean)">setHidden</a><wbr>(boolean&nbsp;hidden)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Sets a Boolean value that indicates if the scenario is hidden.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#setLocked(boolean)">setLocked</a><wbr>(boolean&nbsp;locked)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Sets a Boolean value that indicates if the scenario is locked.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#setName(java.lang.String)">setName</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;name)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Sets the scenario name.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#show()">show</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Applies the values saved in this scenario to the worksheet.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getIndex()">
<h3>getIndex</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getIndex</span>()</div>
<div class="block">Returns the index of this scenario in the worksheet's scenario collection. <p>Use this method to get the scenario's position within the worksheet's scenario collection.</p>
<pre><code data-language="Java">
 worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
 IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
 int index = scenario.getIndex();
 </code></pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The index of this scenario in the worksheet's scenario collection.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getName()">
<h3>getName</h3>
<div class="member-signature"><span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></span>&nbsp;<span class="element-name">getName</span>()</div>
<div class="block">Gets the scenario name. <p>The returned value is the scenario name used to identify the scenario in the worksheet.</p>
<pre><code data-language="Java">
 worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
 IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
 String name = scenario.getName();
 </code></pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The scenario name.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setName(java.lang.String)">
<h3>setName</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">setName</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;name)</span></div>
<div class="block">Sets the scenario name. <p>Use this method to rename the scenario in the worksheet's scenario collection.</p>
<pre><code data-language="Java">
 worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
 IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
 scenario.setName("Updated Sales Plan");
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - The scenario name.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getComment()">
<h3>getComment</h3>
<div class="member-signature"><span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></span>&nbsp;<span class="element-name">getComment</span>()</div>
<div class="block">Gets the comment text associated with the scenario. <p>Use this method to retrieve the descriptive text assigned to the scenario.</p>
<pre><code data-language="Java">
 worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
 IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
 scenario.setComment("Created by Document Solutions for Excel");
 String comment = scenario.getComment();
 </code></pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The comment associated with the scenario.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setComment(java.lang.String)">
<h3>setComment</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">setComment</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;comment)</span></div>
<div class="block">Sets a String value that represents the comment associated with the scenario. <p>Use this method to update the descriptive text assigned to the scenario.</p>
<pre><code data-language="Java">
 worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
 IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
 scenario.setComment("Updated sales inputs");
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>comment</code> - The comment associated with the scenario.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getHidden()">
<h3>getHidden</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">getHidden</span>()</div>
<div class="block">Gets whether the scenario is hidden. <p>This property indicates whether the scenario is marked as hidden. It can be  used together with  <a href="#setHidden(boolean)"><code>setHidden(boolean)</code></a> when configuring scenario behavior.</p>
<pre><code data-language="Java">
 worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
 IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
 scenario.setHidden(true);
 boolean hidden = scenario.getHidden();
 </code></pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>True if the scenario is hidden; otherwise, false.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setHidden(boolean)">
<h3>setHidden</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">setHidden</span><wbr><span class="parameters">(boolean&nbsp;hidden)</span></div>
<div class="block">Sets a Boolean value that indicates if the scenario is hidden.
 <pre><code data-language="Java">
 worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
 IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
 scenario.setHidden(true);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>hidden</code> - True if the scenario is hidden; otherwise, false.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLocked()">
<h3>getLocked</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">getLocked</span>()</div>
<div class="block">Gets whether the scenario is locked. <p>A locked scenario is marked as protected from changes. This setting corresponds to  <a href="#setLocked(boolean)"><code>setLocked(boolean)</code></a>.</p>
<pre><code data-language="Java">
 worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
 IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
 scenario.setLocked(true);
 boolean locked = scenario.getLocked();
 </code></pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>True if the scenario is locked; otherwise, false.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setLocked(boolean)">
<h3>setLocked</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">setLocked</span><wbr><span class="parameters">(boolean&nbsp;locked)</span></div>
<div class="block">Sets a Boolean value that indicates if the scenario is locked.
 <pre><code data-language="Java">
 worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
 IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
 scenario.setLocked(true);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>locked</code> - True if the scenario is locked; otherwise, false.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getChangingCells()">
<h3>getChangingCells</h3>
<div class="member-signature"><span class="return-type"><a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a></span>&nbsp;<span class="element-name">getChangingCells</span>()</div>
<div class="block">Gets a  <a href="IRange.html" title="interface in com.grapecity.documents.excel"><code>IRange</code></a> object that represents the changing cells for the scenario.<p>Use the returned range to access the cells whose values are stored and applied by  the scenario.</p>
<pre><code data-language="Java">
 worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
 IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
 IRange changingCells = scenario.getChangingCells();
 worksheet.getRange("B2:B3").setValue(new Object[][] {{30}, {40}});
 scenario.show();
 Object appliedValues = changingCells.getValue();
 </code></pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The changing cells for a scenario.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getValues()">
<h3>getValues</h3>
<div class="member-signature"><span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a>&gt;</span>&nbsp;<span class="element-name">getValues</span>()</div>
<div class="block">Returns a list that contains the current values of the changing cells for the scenario. <p>Use  <a href="#show()"><code>show()</code></a> to apply these scenario values to the worksheet, or <a href="#getChangingCells()"><code>getChangingCells()</code></a> to retrieve the cells associated with the returned values.</p>
<pre><code data-language="Java">
 worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
 IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
 List&lt;Object&gt; values = scenario.getValues();
 </code></pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>A list of objects representing the current values of the changing cells.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="delete()">
<h3>delete</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">delete</span>()</div>
<div class="block">Deletes this scenario. <p>Use this method to remove a scenario that is no longer needed.</p>
<pre><code data-language="Java">
 worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
 IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
 scenario.delete();
 </code></pre></div>
</section>
</li>
<li>
<section class="detail" id="show()">
<h3>show</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">show</span>()</div>
<div class="block">Applies the values saved in this scenario to the worksheet. <p>The affected cells are the changing cells of the scenario. This method replaces  the current values in those cells with the values stored in the scenario. Formulas  that reference the changing cells are recalculated when the calculation engine is enabled.</p>
<pre><code data-language="Java">
 worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
 IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
 worksheet.getRange("B2:B3").setValue(new Object[][] {{30}, {40}});
 scenario.show();
 </code></pre></div>
</section>
</li>
<li>
<section class="detail" id="changeScenario(com.grapecity.documents.excel.IRange)">
<h3>changeScenario</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">changeScenario</span><wbr><span class="parameters">(<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;changingCells)</span></div>
<div class="block">Changes the scenario to have a new set of changing cells. <p>When you use this overload, the scenario values are assumed to be the current  values in the cells in  <code>changingCells</code>. Use  <a href="#changeScenario(com.grapecity.documents.excel.IRange,java.util.List)"><code>changeScenario(IRange,List)</code></a> to specify the scenario values explicitly.</p>
<pre><code data-language="Java">
 worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
 IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
 worksheet.getRange("D2:D3").setValue(new Object[][] {{100}, {200}});
 scenario.changeScenario(worksheet.getRange("D2:D3"));
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>changingCells</code> - An <a href="IRange.html" title="interface in com.grapecity.documents.excel"><code>IRange</code></a> object that refers to the changing cells for the scenario. The scenario values are assumed to be the current values in the cells in  <code>changingCells</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="changeScenario(com.grapecity.documents.excel.IRange,java.util.List)">
<h3>changeScenario</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">changeScenario</span><wbr><span class="parameters">(<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;changingCells,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a>&gt;&nbsp;values)</span></div>
<div class="block">Changes the scenario to have a new set of changing cells and scenario values. <p>The values correspond to the cells in  <code>changingCells</code> one by one. For example, if  <code>changingCells</code> is <code>"B2:C3"</code>, the values should be supplied in the order  <code>B2</code>,  <code>C2</code>,  <code>B3</code>, and  <code>C3</code>.</p>
<pre><code data-language="Java">
 List&lt;Object&gt; values = Arrays.asList(0.05, 0.04, 0.03, 0.02, 0.05);
 IScenario scenario = worksheet.getScenarios().add(
     "Less Discount Rates", worksheet.getRange("D2:D6"), values);
 scenario.changeScenario(worksheet.getRange("D2:D6"),
     Arrays.asList(0.05, 0.06, 0.03, 0.02, 0.05));
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>changingCells</code> - An <a href="IRange.html" title="interface in com.grapecity.documents.excel"><code>IRange</code></a> object that refers to the changing cells for the scenario.</dd>
<dd><code>values</code> - A list that contains the scenario values for the cells in ChangingCells. The values should be provided in the same order as the cells in  <code>changingCells</code>.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
<script>var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";

function show(tableId, selected, columns) {
    if (tableId !== selected) {
        document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')')
            .forEach(function (elem) {
                elem.style.display = 'none';
            });
    }
    document.querySelectorAll('div.' + selected)
        .forEach(function (elem, index) {
            elem.style.display = '';
            var isEvenRow = index % (columns * 2) < columns;
            elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor);
            elem.classList.add(isEvenRow ? evenRowColor : oddRowColor);
        });
    updateTabs(tableId, selected);
}

function updateTabs(tableId, selected) {
    document.querySelector('div#' + tableId + ' .summary-table')
        .setAttribute('aria-labelledby', selected);
    document.querySelectorAll('button[id^="' + tableId + '"]')
        .forEach(function (tab, index) {
            if (selected === tab.id || (tableId === selected && index === 0)) {
                tab.className = activeTableTab;
                tab.setAttribute('aria-selected', true);
                tab.setAttribute('tabindex', 0);
            } else {
                tab.className = tableTab;
                tab.setAttribute('aria-selected', false);
                tab.setAttribute('tabindex', -1);
            }
        });
}

function switchTab(e) {
    var selected = document.querySelector('[aria-selected=true]');
    if (selected) {
        if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) {
            // left or up arrow key pressed: move focus to previous tab
            selected.previousSibling.click();
            selected.previousSibling.focus();
            e.preventDefault();
        } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) {
            // right or down arrow key pressed: move focus to next tab
            selected.nextSibling.click();
            selected.nextSibling.focus();
            e.preventDefault();
        }
    }
}
</script></div>