Not as strange as you think. Take a look at the HTML generated for a JSF control. You should see that the HTML ID for "grid" is actually something more like "formId:grid". That's because JSF supports something called "naming containers".
Which brings up a point. I hope you've got your commandButton in a JSF form! Otherwise it won't work right.
Joined: Jun 28, 2008
I found the problem.
The problem lies in the JSF 2.0 specification:
JSF 2.0 AJAX-Tag can only update JSF-Tags and not HTML-Tags.
So we have to enclose HTML-Tags (which should be updated) by a JSF-Tag (such as h:panelGrid).