Hi! Please give me an example:
MyData myData = new MyData(name, address); // pseudo add(new Label("name", new PropertyModel(myData, "name")); add(new Label("address", new PropertyModel(myData, "address")); // now I have an ajax button or something... @Override protected void onUpdate(AjaxRequestTarget target) { int stateChangeKey = (Integer) thisGadget.getModelObject(); myData = ComplexBusinessLogicService.loadNewDataAccordingToState(stateChangeKey); } Now you mean if I wrap the myData into an IModel I do not need to change anything else except the first line: MyData myData = new MyData(name, address); // pseudo IModel myDataIModel = new MyIModel(myData); and replace it in the property models? Wow. So PropertyModel will be smart enough here on its own. ** Martin 2008/4/30 Frank Bille <[EMAIL PROTECTED]>: > You don't need the wrapper. If you give PropertyModel a IModel as > object it knows how to handle it. I do that all the time: Single > backing IModel with lots of different IModel in front (property > models, AROM, etc.) > > Frank > > > On Wed, Apr 30, 2008 at 7:09 AM, Martin Makundi > > > <[EMAIL PROTECTED]> wrote: > > I use Ajax and in an OnChange event I reload/replace some model > > objects and add the components holding the models into > > ajaxupdatetarget. > > > > I have not found another way to replace the model objects using a > > "single point of entry". > > > > ** > > Martin > > > > 2008/4/29 Johan Compagner <[EMAIL PROTECTED]>: > > > > > > > Why do you want to propagate the changes? Why isnt it just pull > > > instead of push? Or do you use ajax and you have to know what > > > components have to be rerendered? > > > > > > > > > > > > On 4/28/08, Martin Makundi <[EMAIL PROTECTED]> wrote: > > > > Hi! > > > > > > > > I have a situation where I have multiple propertymodels whose > > > > model-object changes as a result of an update. I need to propagate > > > > this change to all the property models. > > > > > > > > Is there an existing functionality to accomplish this? I came up with > > > > a workaround, but I would like to know if there was a "proper" way to > > > > deal with the situation. Here is my workaround, which smells a bit > > > > like a hack: > > > > > > > > public class WrappedPropertyModel extends PropertyModel { > > > > /** > > > > * @param model The model whose modelObject can be changed and the > > > > change will be represented by all WrappedPropetyModels sharing the > > > > same model > > > > * @param property The property of the modelObject that is wanted > > > > */ > > > > public WrappedPropertyModel(IModel model, String property) { > > > > // Strictly speaking, the IModel here could be any wrapper object > > > > super(model, "object." + property); > > > > } > > > > } > > > > > > > > ** > > > > Martin > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]