If this is a secondary data source, rules don't run on the initial query (I KNOW, RIGHT????). You can try one of the following:
- Instead of changing the value in the data source, add two calculated values to the table you are displaying the data in - One says "This is approved" and the other says "This is rejected". Add conditional formatting to the two calculated values so only the correct one shows.
- Add a form load (or a rule somewhere that runs after this data loads) to set a "helper" field in the secondary data source - for example, you could re-purpose ID, and have a rule on it to set the "Outcome" - if your form load rule sets ID to 0, all instances will change, and rules to set Outcome will fire
Generally, I'd take option 1 and just use calculated values and conditional formatting. :)