0

在预算分析表格中,当我们打开表格时,它会在左侧网格中显示项目列表。然后,当我们在左侧网格上选择值时,只有右侧的网格被填充。如果我在左侧只有一个项目,有什么方法可以在我打开表单时为该项目填充右侧网格?

我尝试将代码从左侧网格的选择更改方法带到表单的初始化方法,但是我在树节点等方面遇到了一些困难。

有人可以建议我这样做的最佳方法吗?

4

1 回答 1

2

我建议对 AX 2012 R3 版本进行以下两项更改。我猜想这也适用于其他 AX 2012 版本。我在 AX 2009 中找不到任何预算分析,我怀疑它是否存在,因为它是 AX 2012 中引入的零售模块的一部分。

首先,自定义树控件的构建,以便选择第一个子控件而不是根控件。为此,请自定义initTreeControl类的方法BudgetAnalysisInquiryHelper_PSN并在树展开后添加以下行:

_formTreeControl.select(_formTreeControl.getChild(_formTreeControl.getRoot()));

既然选择了树中正确的节点,就可以调用getBudgetSummaryform的方法来更新网格了。BudgetAnalysisInquiry_PSN要在打开表单后执行此操作,请将以下几行放在方法的末尾(基本上与树控件run的方法中的行相同):selectionChanged

selectedNode = ctrlDimensionTree.getItem(ctrlDimensionTree.getSelection());
budgetAnalysisDimensionNode = selectedNode.data();
ctrlSelectedNode.text(budgetAnalysisDimensionNode.getNodeText());
element.getBudgetSummary(ctrlDimensionTree);

在方法中调用这些行init为时过早,因为方法run(在 之后执行init)调用方法,该方法refreshGrids会删除表单临时数据源中的数据。

于 2016-05-02T12:50:30.857 回答