GetTableCellRangeVals
int GetTableCellRangeVals (int panelHandle, int controlID, Rect cellRange, void *valueArray, int direction);
Purpose
Obtains the current values of a table control cell range.
To use this function, you must specify a cell range in which all cells are of the same cell type. If the cell type is VAL_CELL_NUMERIC, all cells in the range also must have the same data type.
Supported Controls
You can use GetTableCellRangeVals with table controls.
Parameters
Input | ||
Name | Type | Description |
panelHandle | int | Specifier for a particular panel that is currently in memory. You can obtain this handle from functions such as LoadPanel and NewPanel. |
controlID | int | The defined constant, located in the .uir header file, that you assigned to the control in the User Interface Editor, or the ID returned by functions such as NewCtrl and DuplicateCtrl. |
cellRange | Rect | A Rect structure specifying the cell range from which you want to
obtain the values. To use this function, you must specify a cell range consisting of a homogeneous cell type. If the cell type is VAL_CELL_NUMERIC, all cells in the range must also share an identical data type. The Rect structure is defined as follows: typedef struct { int top; int left; int height; int width; } Rect; Pass the one-based row and column indices of the first cell in the range as the top and left fields of the structure, respectively. Pass the number of columns in the range as the width field of the structure, and the number of rows in the range as the height field of the structure. You can create a Rect without having to declare a variable by using the following function: Rect MakeRect (int top, int left, int height, int width); ExampleGetTableCellRangeVals (panelHandle, controlID, MakeRect (2, 3, 5, 5), valueArray, direction); |
direction | int | The order in which each cell value is stored in valueArray. If you pass VAL_ROW_MAJOR, the function writes the values of all the cells in a given row from left to right, then it writes the values of the row immediately below, continuing until there are no rows left in the cell range. If you pass VAL_COLUMN_MAJOR, the function writes the values of all the cells in a given column from top to bottom, then it writes the values of the column to its immediate right, continuing until there are no columns left in the cell range. |
Output | ||
Name | Type | Description |
valueArray | void * | An array for the function to write the cell values. The array must be large enough to contain the values for the entire cell range. The number of bytes required for each cell depends on the cell type and data type (for numeric cells). The values that this function returns from each cell depend on the cell type. If the cell type is VAL_CELL_PICTURE, the function returns the bitmap stored in the cell, or zero if there is no bitmap. When you no longer need the bitmaps, free them using DiscardBitmap. When allocating the array, assume that each element requires four bytes of storage. If the cell type is VAL_CELL_STRING, VAL_CELL_RING, VAL_CELL_COMBO_BOX, or VAL_CELL_BUTTON, the function returns a pointer to the NUL-terminated string corresponding to the cell. Each individual string is allocated inside the function. When you no longer need the strings, free them by passing this array to FreeTableValStrings. When allocating the array, assume that each element requires four bytes of storage (in 32-bit applications) or eight bytes of storage (in 64-bit applications). If the cell type is VAL_CELL_NUMERIC, the function returns the numeric value of the cell. When allocating the array, you must be mindful of the data type of the cell range, and assume that each element requires the number of bytes corresponding to that data type. |
Return Value
Name | Type | Description |
status | int | Return value indicating whether the function was successful. A negative number indicates that an error occurred. |
Additional Information
Library: User Interface Library
Include file: userint.h
LabWindows/CVI compatibility: LabWindows/CVI 5.5 and later
Example
Refer to userint\gridview.cws for an example of using the GetTableCellRangeVals function.