The "targets" list of IDs on <primaryClientAction> should be pointing at the IDs of the components that need to get refreshed. In your example, you've got one ID - "Department". Is there a component with that ID in your page?
BTW, "return null;" is equivalent to (and less typing than) "return new EventResult(page);". Both are correct - your EventHandler looks fine.
Oops, I should have said "targets" on <firePartialAction>, not <primaryClientAction>...
Anyway, it can sometimes be hard to tell when <firePartialAction> isn't working if its because the wrong parts of the page are getting updated, or because your event handler isn't properly updating the page state. So, a quick piece of debugging advice: fire up Netscape 4 (yes, that ancient version!), and use that to run your page. We'll automatically disable PPR, so the entire page will refresh. If the correct state still doesn't appear, then the problem is in your EventHandler and how it's calling BC4J. If the correct state does appear in Netscape 4, then your EventHandler's perfect, and something else is going wrong (like "targets" isn't pointing at the right thing.)
When you say "my choice boxes aren't repopulated", do you mean, the "Department" choice boxes, or the ones in the snippet you showed me? I'm confused here, because the snippet I see only has the source of the PPR event, but not the target.
Thanks again for your help. Sorry for the ambiguity. The choice boxes that aren't getting repopulated is the Department choice box. Here is the code for the UIX portion. I hope this clears up some confusion.
The "targets" attribute of <firePartialAction> has to be a list of IDs on the page. I don't see a "Department" ID anywhere, so that's causing a serious problem with the PPR side of things. You need to set "id" to Department on the appropriate component.
For why "Dept" isn't getting repopulated even without PPR, this looks like exactly the same issue as what you brought up in another thread: UIX choice component event handling
BTW, it's not clear why you're using <rawText> here; plain old <styledText> (without any <contents> either) would be much more straightforward: