Args concept in dynamics ax is awesome. one
can easily pass arguments from one Form to another Form with very less effort. Here, i am going to demonstrate how to pass
Arguments from Form to Form. The Scenario is when I select one grid in
Form A, that record will be passed to Form B and there Form B will received the
whole record and filter it and will show.
Step 1: Make one SampleTable
which has three fields named (SIno, name, AddressCity).
Step
2: Make FormA with datasource as SampleTable and drag the datasource fields
into the design Grid.
Step
3: Drag one button and override the click method and write the following code.
void clicked()
{
Args args;
FormRun formRun;
;
super();
args = new args(formstr(FormB)); // sending Args(record) to FormB
args.record(SampleTable);
formrun = classfactory.formrunclass(args);
formrun.init();
formrun.run();
formrun.wait();
formrun.detach();
{
Args args;
FormRun formRun;
;
super();
args = new args(formstr(FormB)); // sending Args(record) to FormB
args.record(SampleTable);
formrun = classfactory.formrunclass(args);
formrun.init();
formrun.run();
formrun.wait();
formrun.detach();
}
step 4: Make FormB with datasource as same
table for which you take for Form A i.e., SampleTable and drag the fields in to
the
Grid of design part.
Grid of design part.
step 5: write the following code in to the init method of FormB.
public void init()
{
SampleTable _sampleTable;
super();
_sampleTable = element.args().record();
SampleTable_ds.query().dataSourceTable(Tablenum(SampleTable)).addRange(fieldNum(SampleTbl,RecId)).
value(SysQuery::value(_sampleTable.Recid));
}
public void init()
{
SampleTable _sampleTable;
super();
_sampleTable = element.args().record();
SampleTable_ds.query().dataSourceTable(Tablenum(SampleTable)).addRange(fieldNum(SampleTbl,RecId)).
value(SysQuery::value(_sampleTable.Recid));
}
No comments:
Post a Comment