# SelectHyperCubeCellsAsync Method

## Overloads

| [SelectHyperCubeCellsAsync(String, IEnumerable<Int32>, IEnumerable<Int32>, Boolean, Boolean)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IGenericObject.SelectHyperCubeCellsAsync.htm#Qlik_Engine_IGenericObject_SelectHyperCubeCellsAsync_System_String_System_Collections_Generic_IEnumerable_System_Int32__System_Collections_Generic_IEnumerable_System_Int32__System_Boolean_System_Boolean_) |  | Makes selections in multiple dimensions and measures.<br><br>The member **Change** returns the handles of the objects that are updated following the selections.<br><br><br>`qSuccess` is set to `true` if the selections are successful and is set to `false` in the following cases:<br><br>\* The object contains some invalid fields (fields that are not in the data model).<br><br>\* The selection applies to a locked field.<br><br>\* A range selection is performed and the parameter `OneAndOnlyOne` is set to true in the definition of the object. |
| --- | --- | --- |
| [SelectHyperCubeCellsAsync(AsyncHandle, String, IEnumerable<Int32>, IEnumerable<Int32>, Boolean, Boolean)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IGenericObject.SelectHyperCubeCellsAsync.htm#Qlik_Engine_IGenericObject_SelectHyperCubeCellsAsync_Qlik_Engine_AsyncHandle_System_String_System_Collections_Generic_IEnumerable_System_Int32__System_Collections_Generic_IEnumerable_System_Int32__System_Boolean_System_Boolean_) |  | Makes selections in multiple dimensions and measures.<br><br>The member **Change** returns the handles of the objects that are updated following the selections.<br><br><br>`qSuccess` is set to `true` if the selections are successful and is set to `false` in the following cases:<br><br>\* The object contains some invalid fields (fields that are not in the data model).<br><br>\* The selection applies to a locked field.<br><br>\* A range selection is performed and the parameter `OneAndOnlyOne` is set to true in the definition of the object. |
| [SelectHyperCubeCellsAsync<T>(AsyncHandle, Func<Response, T>, String, IEnumerable<Int32>, IEnumerable<Int32>, Boolean, Boolean)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IGenericObject.SelectHyperCubeCellsAsync.htm#Qlik_Engine_IGenericObject_SelectHyperCubeCellsAsync__1_Qlik_Engine_AsyncHandle_System_Func_Qlik_Engine_Communication_IO_Response___0__System_String_System_Collections_Generic_IEnumerable_System_Int32__System_Collections_Generic_IEnumerable_System_Int32__System_Boolean_System_Boolean_) |  | Makes selections in multiple dimensions and measures.<br><br>The member **Change** returns the handles of the objects that are updated following the selections.<br><br><br>`qSuccess` is set to `true` if the selections are successful and is set to `false` in the following cases:<br><br>\* The object contains some invalid fields (fields that are not in the data model).<br><br>\* The selection applies to a locked field.<br><br>\* A range selection is performed and the parameter `OneAndOnlyOne` is set to true in the definition of the object. |

[](https://help.qlik.com/en-US/sense-developer/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IGenericObject.SelectHyperCubeCellsAsync.htm) [](https://help.qlik.com/en-US/sense-developer/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IGenericObject.SelectHyperCubeCellsAsync.htm)

## SelectHyperCubeCellsAsync(String, IEnumerable&lt;Int32&gt;, IEnumerable&lt;Int32&gt;, Boolean, Boolean)

Makes selections in multiple dimensions and measures.

The member **Change** returns the handles of the objects that are updated following the selections.

`qSuccess` is set to `true` if the selections are successful and is set to `false` in the following cases:

* The object contains some invalid fields (fields that are not in the data model).
* The selection applies to a locked field.
* A range selection is performed and the parameter OneAndOnlyOne is set to true in the definition of the object.

### Declaration

```

          Task<bool> SelectHyperCubeCellsAsync([QixName("qPath")] string path, [QixName("qRowIndices")] IEnumerable<int> rowIndices, [QixName("qColIndices")] IEnumerable<int> colIndices, [QixName("qSoftLock")] bool softLock = false, [QixName("qDeselectOnlyOneSelected")] bool deselectOnlyOneSelected = false)
    
  
```

### Parameters

| Type | Name | Description |
| --- | --- | --- |
| System.String | path | Path to the definition of the object to be selected.<br>For example, `/qHyperCubeDef` . |
| System.Collections.Generic.IEnumerable&lt;System.Int32&gt; | rowIndices | Array of row indexes to select, starting from 0.<br>If the array is empty `` , all rows are selected. |
| System.Collections.Generic.IEnumerable&lt;System.Int32&gt; | colIndices | Indexes of the columns to select, starting from 0.<br>A column corresponds to a dimension in the order they are added to the hypercube.<br>If a column is hidden it is ignored, qColIndex n refers to the n:th visible column (starting from zero).<br>Example:<br>If the hypercube has two dimensions:<br><br><ul> <li>[0] selects the first column (i.e the first dimension).</li> <li>[1] selects the second column (i.e the second dimension).</li> </ul><br><br>If the array is empty `` , all columns are selected. |
| System.Boolean | softLock | Set to true to ignore locks; in that case, locked fields can be selected. |
| System.Boolean | deselectOnlyOneSelected | Set this parameter to true to unselect the last single selected value. There must be only one selected value in the field.<br>The default value is false. |

### Returns

| Type | Description |
| --- | --- |
| System.Threading.Tasks.Task&lt;System.Boolean&gt; |  |

### Remarks

This method applies to hypercubes, such as bar charts, tables and scatter plots.

[](https://help.qlik.com/en-US/sense-developer/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IGenericObject.SelectHyperCubeCellsAsync.htm) [](https://help.qlik.com/en-US/sense-developer/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IGenericObject.SelectHyperCubeCellsAsync.htm)

## SelectHyperCubeCellsAsync(AsyncHandle, String, IEnumerable&lt;Int32&gt;, IEnumerable&lt;Int32&gt;, Boolean, Boolean)

Makes selections in multiple dimensions and measures.

The member **Change** returns the handles of the objects that are updated following the selections.

`qSuccess` is set to `true` if the selections are successful and is set to `false` in the following cases:

* The object contains some invalid fields (fields that are not in the data model).
* The selection applies to a locked field.
* A range selection is performed and the parameter OneAndOnlyOne is set to true in the definition of the object.

### Declaration

```

          Task<bool> SelectHyperCubeCellsAsync(AsyncHandle asyncHandle, [QixName("qPath")] string path, [QixName("qRowIndices")] IEnumerable<int> rowIndices, [QixName("qColIndices")] IEnumerable<int> colIndices, [QixName("qSoftLock")] bool softLock = false, [QixName("qDeselectOnlyOneSelected")] bool deselectOnlyOneSelected = false)
    
  
```

### Parameters

| Type | Name | Description |
| --- | --- | --- |
| [AsyncHandle](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.AsyncHandle.htm) | asyncHandle | Handle to asynchronous method request |
| System.String | path | Path to the definition of the object to be selected.<br>For example, `/qHyperCubeDef` . |
| System.Collections.Generic.IEnumerable&lt;System.Int32&gt; | rowIndices | Array of row indexes to select, starting from 0.<br>If the array is empty `` , all rows are selected. |
| System.Collections.Generic.IEnumerable&lt;System.Int32&gt; | colIndices | Indexes of the columns to select, starting from 0.<br>A column corresponds to a dimension in the order they are added to the hypercube.<br>If a column is hidden it is ignored, qColIndex n refers to the n:th visible column (starting from zero).<br>Example:<br>If the hypercube has two dimensions:<br><br><ul> <li>[0] selects the first column (i.e the first dimension).</li> <li>[1] selects the second column (i.e the second dimension).</li> </ul><br><br>If the array is empty `` , all columns are selected. |
| System.Boolean | softLock | Set to true to ignore locks; in that case, locked fields can be selected. |
| System.Boolean | deselectOnlyOneSelected | Set this parameter to true to unselect the last single selected value. There must be only one selected value in the field.<br>The default value is false. |

### Returns

| Type | Description |
| --- | --- |
| System.Threading.Tasks.Task&lt;System.Boolean&gt; |  |

### Remarks

This method applies to hypercubes, such as bar charts, tables and scatter plots.

[](https://help.qlik.com/en-US/sense-developer/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IGenericObject.SelectHyperCubeCellsAsync.htm) [](https://help.qlik.com/en-US/sense-developer/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IGenericObject.SelectHyperCubeCellsAsync.htm)

## SelectHyperCubeCellsAsync&lt;T&gt;(AsyncHandle, Func&lt;Response, T&gt;, String, IEnumerable&lt;Int32&gt;, IEnumerable&lt;Int32&gt;, Boolean, Boolean)

Makes selections in multiple dimensions and measures.

The member **Change** returns the handles of the objects that are updated following the selections.

`qSuccess` is set to `true` if the selections are successful and is set to `false` in the following cases:

* The object contains some invalid fields (fields that are not in the data model).
* The selection applies to a locked field.
* A range selection is performed and the parameter OneAndOnlyOne is set to true in the definition of the object.

### Declaration

```
Task<T> SelectHyperCubeCellsAsync<T>(AsyncHandle asyncHandle, Func<Response, T> onResult, [QixName("qPath")] string path, [QixName("qRowIndices")] IEnumerable<int> rowIndices, [QixName("qColIndices")] IEnumerable<int> colIndices, [QixName("qSoftLock")] bool softLock = false, [QixName("qDeselectOnlyOneSelected")] bool deselectOnlyOneSelected = false)
```

### Parameters

| Type | Name | Description |
| --- | --- | --- |
| [AsyncHandle](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.AsyncHandle.htm) | asyncHandle | Handle to asynchronous method request |
| System.Func&lt;[Response](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.Communication.IO.Response.htm), T&gt; | onResult | Continuation function |
| System.String | path | Path to the definition of the object to be selected.<br>For example, `/qHyperCubeDef` . |
| System.Collections.Generic.IEnumerable&lt;System.Int32&gt; | rowIndices | Array of row indexes to select, starting from 0.<br>If the array is empty `` , all rows are selected. |
| System.Collections.Generic.IEnumerable&lt;System.Int32&gt; | colIndices | Indexes of the columns to select, starting from 0.<br>A column corresponds to a dimension in the order they are added to the hypercube.<br>If a column is hidden it is ignored, qColIndex n refers to the n:th visible column (starting from zero).<br>Example:<br>If the hypercube has two dimensions:<br><br><ul> <li>[0] selects the first column (i.e the first dimension).</li> <li>[1] selects the second column (i.e the second dimension).</li> </ul><br><br>If the array is empty `` , all columns are selected. |
| System.Boolean | softLock | Set to true to ignore locks; in that case, locked fields can be selected. |
| System.Boolean | deselectOnlyOneSelected | Set this parameter to true to unselect the last single selected value. There must be only one selected value in the field.<br>The default value is false. |

### Returns

| Type | Description |
| --- | --- |
| System.Threading.Tasks.Task&lt;T&gt; |  |

### Type Parameters

| Name | Description |
| --- | --- |
| T |  |

### Remarks

This method applies to hypercubes, such as bar charts, tables and scatter plots.