maq*_*aqk 2 microsoft-dynamics ax x++ axapta dynamics-ax-2012
使用Microsoft Dynamics AX 2012.
我有一个listpage form具有引用ListPageInteraction类,只是想改变一些控件的标签/标题.为此,我需要做一些事情:
element.form().design().control('<YourControlName>');
但我不能在ListPageInteraction课堂上得到这种方法.我决定研究类的初始化方法.但是没有办法去从那里的形式,我怎么去控制和设置标签?
小智 5
common = this.listPage().activeRecord('Table');
if(common.isFormDataSource())
{
fds = common.dataSource();
fds.formRun().control(fds.formRun().controlId('ControlOfScreen')).
userPromptText('New Description');
}
Run Code Online (Sandbox Code Playgroud)
另一个例子来自projProjectTransListPageInteraction.initializeQuery()透视图,从表单projProjectTransactionsListPage上的网格更改TransDate字段的标签
public void initializeQuery(Query _query)
{
QueryBuildRange transDateRange;
// ListPageLabelChange =>
Common externalRecord;
FormDataSource frmDs;
FormRun formRun;
FormControl frmCtrl;
// ListPageLabelChange <=
;
queryBuildDataSource = _query.dataSourceTable(tableNum(ProjPostTransView));
transDateRange = SysQuery::findOrCreateRange(queryBuildDataSource, fieldNum(ProjPostTransView, TransDate));
// Date range is [(today's date - 30)..today's date] if not showing transactions for a particular project.
// Date range is [(dateNull())..today's date] if showing transactions for a particular project so that all transactions are visible.
transDateRange.value(SysQuery::range(transStartDate, systemDateGet()));
this.linkActive(_query);
// ListPageLabelChange =>
externalRecord = this.listPage().activeRecord(_query.dataSourceTable(tableNum(ProjPostTransView)).name());//No intrisic function for form DS?
if(externalRecord.isFormDataSource())
{
frmDs = externalRecord.dataSource();
formRun = frmDs.formRun();
if(formRun)
{
frmCtrl = formRun.design().controlName(formControlStr(projProjectTransactionsListPage,TransDate));
if(frmCtrl)
{
frmCtrl.userPromptText("newName");
}
}
}
// ListPageLabelChange <=
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13059 次 |
| 最近记录: |