solved with the help of stworthy:
function generateDatagrid(strTargetId){
var obDfd = jQuery.Deferred(),
obTarget = jQuery('#dg');
if(strTargetId) obTarget=jQuery(strTargetId);
obTarget.datagrid(....);
obTarget.datagrid({
view: jQuery.extend(true,{},$.fn.datagrid.defaults.view,{
onAfterRender: function(target){
$.fn.datagrid.defaults.view.onAfterRender.call(this,target);
obDfd.resolve()
}
})
});
return obDfd;
}
And the waiting side :
jQuery.when(generateDatagrid()).done(function(){
// datagrid is rendered, do something...
});
See :
http://api.jquery.com/deferred.promise/