As with most things in Actuate, this could be handled several different ways. One way to accomplish this is to just create one control, and put it in the location you expect it to be most often. In the Finish( ) method of that control, check the value of your other controls (remember to have this control created last!) as stated previously.
Adjust the control's position accordingly:
Sub Finish( )
If column_XYZ = "SC" then
Me.position.x = 'place the desired x coordinate here
Me. position.y = 'place your y coordinate here
End if
Super::Finish( )
End Sub
To determine the x and y coordinates, place the control where you want it to be "If...", open the properties, and check the Position properties.
You could also create two controls (txtColumn1, txtConditionalVar2) placed at either location, and create an additional variable on the DataRow (column1 would be the variable originally tied to the column, and ConditionalVar2 - the created variable); by adding another variable to the datarow you could then check the Datarow's OnRead( ) method for your condition and populate the correct control. Since the opposite control would be empty, it would show up as empty space on the report:
Sub OnRead( )
Super::OnRead( )
If column_XYZ = "SC" then
ConditionalVar2 = column1
Column1 = ""
End If
End Sub
This way, Column1 will always be populated from the DataRow with the default value, and you will only change if the Condition is met. In your Content frame, you would have two variables at their respective locations: txtColumn1 and txtConditionalVar2.
If this isn't clear, let me know and I will see about sending some kind of example, OK?!
Good Luck!
Bill