Skip to main content

Identify Rows and Cards

  • 2 minutes to read

In Table Views, data records are represented by rows, while in Card Views they are represented by cards. In this topic, the term row is used in a general way to refer to both rows in Table Views and cards in Card Views.

Identifying Rows

Rows in views are identified by unique integer values - row handles. A View associates its rows with row handles using the following rules:

  • Each row has a row handle which uniquely identifies it, regardless of whether a row is currently visible (a row might not be visible due to scrolling, and it can also be hidden within collapsed groups).
  • Data row handles start from zero.
  • Group row handles are negative, starting from -1.

Visible rows can also be identified by their visible indices. These indexes start from zero. Successive integers are assigned to additional visible rows (group or data). A row is hidden if it is contained within a collapsed group row.

The image below illustrates the assignment rules, and the relationship between row handles and visible indices.


For information on how to obtain row identifiers, please see Obtaining Row Handles.

Special Row Handles

Row Description
New Item Row (Table View) This row allows an end-user to add new records to the data source. Its handle is returned by the DataControlBase.NewItemRowHandle property.
Automatic Filter Row (Table View) The Auto Filter Row allows an end-user to filter data on the fly. Typing text within this row automatically creates and applies a filter to the View. Its handle is returned by the DataControlBase.AutoFilterRowHandle property.
Invalid Row Generally, this row handle corresponds to a row which doesn’t exist in a View. Its handle is returned by the DataControlBase.InvalidRowHandle property.
See Also