Reports the modification status of a row or a column within a row. The modification status determines the type of SQL statement the Update method will generate for the row or column.

Applies to

DataWindow type

Method applies to


DataWindow control, DataWindowChild object, DataStore object



DWItemStatus dwcontrol.GetItemStatus ( long row, integer column, DWBuffer dwbuffer )
DWItemStatus dwcontrol.GetItemStatus ( long row, string column, DWBuffer dwbuffer )




A reference to a DataWindow control, DataStore, or child DataWindow.


A value identifying the row for which you want the status.


The column for which you want the status. Column can be a column number or a column name. The column number is the number of the column as it is listed in the Column Specification view of the DataWindow painter -- not necessarily the number of the column in the Design view.

Specify 0 to get the status of the whole row.


A value identifying the DataWindow buffer containing the row for which you want status. For a list of valid values, see DWBuffer.

Return value

A value of the dwItemStatus enumerated datatype. The return value identifies the status of the item at row, column of dwcontrol in dwbuffer. For a list of status values, see DWItemStatus.

If column is 0, GetItemStatus returns the status of row. If there is no DataWindow object assigned to the DataWindow control or DataStore, GetItemStatus returns null.

If any argument value is null, in PowerBuilder and JavaScript the method returns null.


Use GetItemStatus to understand what SQL statements will be generated for new and changed information when you update the database.

For rows in the primary and filter buffers, Update generates an INSERT statement for rows with NewModified! status. It generates an UPDATE statement for rows with DataModified! status and references the columns that have been affected.

For rows in the delete buffer, Update does not generate a DELETE statement for rows whose status was New! or NewModified! before being moved to the delete buffer.


These statements store in the variable l_status the status of the column named emp_status in row 5 in the filter buffer of dw_1:

dwItemStatus l_status
l_status = dw_1.GetItemStatus(5, "emp_status", &

These statements store in the variable l_status the status of the column named Salary in the current row in the primary buffer of dw_emp:

dwItemStatus l_status
l_status = dw_emp.GetItemStatus( &
      dw_emp.GetRow(), "Salary", Primary!)

See also