I found the code, I'm not the one who wrote it, it was probably an intern before me..
function UpdateOffer() {
var grid = Xrm.Page.getControl("grid_offer");
var oa = Xrm.Page.getAttribute("rta_loofferaccurency");
var bd = Xrm.Page.getAttribute("rta_lobiddate");
var vd = Xrm.Page.getAttribute("rta_lovaliditydate");
var od = Xrm.Page.getAttribute("rta_loofferduration");
var entite;
if (grid == null) { //make sure the grid has loaded
setTimeout(function () { UpdateOffer(); }, 2000); //if the grid hasn’t loaded run this again when it has
return;
}
var filteredRecordCount = grid.getGrid().getTotalRecordCount();
if (filteredRecordCount == 0) {
return;
} else if (filteredRecordCount == 1){
entite = grid.getGrid().getRows().get(0).getData().getEntity();
}else{
var prems = grid.getGrid().getRows().get(0).getData().getEntity().attributes.get("rta_date").getValue().split('/');
var mon_poulain = new Date(prems[2],prems[1]-1,prems[0]);
var lebonnum = 0;
for( var i = 1; i < filteredRecordCount ;i++){
var parts = grid.getGrid().getRows().get(i).getData().getEntity().attributes.get("rta_date").getValue().split('/');
var mydate = new Date(parts[2],parts[1]-1,parts[0]);
if ( mon_poulain < mydate){ mon_poulain = mydate; lebonnum = i;}
}
entite = grid.getGrid().getRows().get(lebonnum).getData().getEntity();
}
bd.setValue(entite.attributes.get("rta_date").getValue());
od.setValue(entite.attributes.get("new_offerduration").getValue());
var temp = entite.attributes.get("new_offeraccuracy").getValue();
if (temp == "100000000"){
oa.setValue("Order of magnitude");
}else if(temp == "100000001"){
oa.setValue("Budget");
}else if(temp == "100000002"){
oa.setValue("Firm");
}
vd.setValue(entite.attributes.get("rta_validitydate").getValue());
}