Find Data Row
Find Data Row
Section titled “Find Data Row”Type: find-row · Package: DataTable Activities v1.0.5 · Output: DataRow
Returns the first row of a DataTable that matches one or more conditions, or null if none match. It does not modify the table.
How it works
Section titled “How it works”The conditions are built visually with the conditions editor — the same as Filter DataTable: each condition is column / operator / value, combined with AND or OR logic. The activity walks the rows in order and stops at the first one that matches.
- Column: by name (case-insensitive) or by position counting from 0.
- Value: compared exactly as you type it; it is not evaluated as an expression.
- Operators:
equals,not-equals,contains,starts-with,ends-with,greater-than,less-than,greater-or-equal,less-or-equal,is-empty,is-not-empty. Text comparisons are case-insensitive and the greater/less operators require numbers. Each one is detailed in Filter DataTable › Operators.
The returned row stays linked to its table: if you modify it with Set Cell or Update Data Row, the table changes.
Required parameters
Section titled “Required parameters”| Parameter | Type | Default | Description |
|---|---|---|---|
table | DataTable | — | The DataTable to search, e.g. customers. |
conditions | object | — | Match conditions (column · operator · value) with AND/OR logic, as { logic, items }. |
Optional parameters
Section titled “Optional parameters”None.
Output
Section titled “Output”Returns the first matching DataRow, or null if none matches (also for a table with no rows).
Common errors
Section titled “Common errors”| Message | Cause and fix |
|---|---|
'table' must be a DataTable. | table does not evaluate to a DataTable. Check the variable. |
At least one condition is required. | The conditions editor is empty. Add at least one. |
Column '…' not found. Available columns: …. | A condition’s column does not exist; the message lists the real ones. |
Column index … out of range (table has … column(s)). | The given column position does not exist. |
Value '…' is not numeric. | A numeric operator found a non-numeric or empty cell. Put is-not-empty on that column first, with AND. |
Example
Section titled “Example”Find a customer’s first overdue invoice and report it:
Find Data Row table = invoices conditions: Customer equals "Northwind Trading" AND Status equals "Overdue" → output: invoice
If condition = invoice != null ├─ then: │ Get Cell row = invoice column = "Number" → output: number │ Log message = "Overdue invoice: " + str(number) └─ else: Log message = "No invoice matches"Related activities
Section titled “Related activities”- Filter DataTable — keep all matching rows (not just the first).
- Get Data Row — get a row by index instead of by condition.
- Get Cell — read a cell of the found row.