No problem, Larry.
I've attached the exported source (zip'd, of course) of an exported DataWindow data object that mimics the data in your post. It already contains the data, so import it and assign the data object to a new DataWindow control.
In addition to the column header text, columns and data, it also contains a Computed Field named c_current_code. It's expression is very simple... it contains a string value. The value doesn't matter as long is it is not a value that will appear in the code (column1) column.
In the DataWindow control, place the following code in the Constructor event:
Long ll_rowcount
String ls_code
This.SetRowFocusIndicator(Hand!)
ll_rowcount = This.RowCount()
If ll_rowcount > 0 Then
This.SetRow(1)
ls_code = this.GetItemString(1,"code")
Else
ls_code = 'Junk'
End If
This.Object.c_current_code.Expression = "'"+ls_code+"'"
In the RowFocusChanged event, place this code:
String ls_code
ls_code = this.GetItemString(currentrow,"code")
This.Object.c_current_code.Expression = "'"+ls_code+"'"
The background color of the column objects use an expression to set the color to yellow if the value of the "code" column matches the value of the Computed Field, which is set initially and whenever row focus changes.
HTH, John