urgent: problem in joining two datasource

static void Job6(Args _args)
{
DictTable dictTable,dictTable1;
Form form;
FormBuildDesign design;
FormBuildDataSource ds,ds1;
Query q;
QueryBuildDatasource ds2,ds3;
FormBuildTabControl tab;
FormBuildTabPageControl tp1;
FormBuildTabPageControl tp2;

FormBuildGridControl grid;

Args args;
FormRun formRun;
;
//q = new Query();
//ds2=q.addDataSource(tablenum(OrderDetails));
//ds3=ds2.addDataSource(tablenum(SalesmanDetails));
//ds2.relations(true);
//ds2.joinMode(joinmode::InnerJoin);

dictTable = new DictTable(tablenum(OrderDetails));
dictTable1 = new DictTable(tablenum(SalesmanDetails));

form = new Form();
form.name(“BankTransTypeDynamic”);

ds = form.addDataSource(dictTable.name());
ds1 = form.addDataSource(dictTable1.name());

ds.table(dictTable.id());
ds1.table(dictTable1.id());
ds.joinSource(ds1);
ds.linkType(joinmode::InnerJoin);

design = form.addDesign(‘design’);
design.caption(“Bank transaction type”);
tab = design.addControl(FormControlType::Tab, “Tab”);
tab.widthMode(FormWidth::ColumnWidth);
tab.heightMode(FormHeight::ColumnHeight);
tp1 = tab.addControl(FormControlType::TabPage, “Tp1”);
tp1.caption(“Overview”);

grid = tp1.addControl(FormControlType::Grid, “Grid”);
//grid.dataSource(ds.name());
//rid.dataSource(ds1.name());
grid.widthMode(FormWidth::ColumnWidth);
grid.heightMode(FormHeight::ColumnHeight);
grid.addDataField(ds.id(),fieldnum(OrderDetails, OrderId));
grid.addDataField(ds.id(),fieldnum(OrderDetails, OrderDate));
grid.addDataField(ds.id(),fieldnum(OrderDetails, OrderDueDate));
grid.addDataField(ds1.id(),fieldnum(SalesmanDetails, SalesmanId));
grid.addDataField(ds1.id(),fieldnum(SalesmanDetails, Name));

args = new Args();
args.object(form);
formRun = classfactory.formRunClass(args);
formRun.init();
formRun.run();
formRun.detach();

}

here i wan to join 2 datasource, i have SalesmanDetails and OrderDetails with one common field SalesmanId…i wan to join the datasource and then show the related field of salesmandetails in grid