The method getT1CategoryList in the backing bean that gets executed when I select from the selectOneMenu updates the columns attribute as well as the formElements attribute. Problem is, the getFormElements method does not get called. It makes no sense...the getColumns method gets called, so the panelGrid's column is updated correctly, but the binding formElements doesn't get updated.
Can you post the information on the property you are connected to with the binding? Value and binding mean two different things...value is used to represent the "contents" of a control, while binding is used to refer to an instance of the class of the control itself. For example, for a <h:selectBooleanCheckbox> control, value would be associated with a boolean property, while binding would be associated with a UISelectBoolean instance. This gives you access to the control itself, in the case of binding, and direct access to its contents, in the case of value.
My guess is that it's not calling the method, because the binding is connecting to an inappropriate type of reference. You might very well have the method name right, but returning the wrong type of object.