PDA

View Full Version : RowExpander Ajax Request



rmulcha
8 Mar 2012, 12:22 PM
Hello there..,

I am a beginner to GXT and we are trying out this for a new project, I need some help with below.

I have a grid with RowExpander and I need to retrieve the additional data which need to be shown on row expansion by making an ajax call. I was trying that by setting that data in the onBeforeExpand event listener, but didnt work for me, can someone pls help me with this. Added my code below.

Thank you for your help

XTemplate tpl = XTemplate.create("<div><table class=\"simple-table\" width=\"50%\"><tr><th>Timestamp</th><th>Name</th><th>Description</th><th>Broker</th></tr><tpl for=\"events\"><tr><td>{timestamp}</td><td>{name}</td><td>{desc}</td><td>{broker}</td></tr></tpl></table></div>");

final RowExpander expander = new RowExpander();
expander.setTemplate(tpl);

expander.addListener(Events.BeforeExpand, new Listener<RowExpanderEvent>() {

@Override
public void handleEvent(RowExpanderEvent be) {
//This getDummyEvents is the one which will call the service and getData and updates the model object
((Transaction)be.getModel()).setEvents(getDummyEvents());
}


});


List<ColumnConfig> configs = getColumnConfigs(expander);
ColumnModel columnModel = new ColumnModel(configs);


final Grid<BeanModel> grid = new Grid<BeanModel>(store, columnModel);
grid.addPlugin(expander);



}

rmulcha
4 May 2012, 12:14 PM
Any update on this please, can you provide some sample pls, with GXT3 would be ideal.

harun
8 May 2012, 6:42 AM
Hi,

I can reccommend you to override method:



new RowExpander() {
@Override
protected boolean beforeExpand(ModelData model, Element body, El row, int rowIndex) {
// write your codes here...
return false;
};

};


it is working for me.

Best Regards,

rmulcha
11 May 2012, 5:26 AM
Thanks Harun.., That works !!

harun
11 May 2012, 5:38 AM
You're welcome,

I used this widget but it is too slow for me,

I made my own solution.

Maybe it is give you an idea for your own solution