当我打开单个项目的表格时,预算分析表格右侧网格应该默认打开。动力斧

Budget Analysis Form Rightside grid should defaultly open when i Open the form for single project. Dynamics ax

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

我尝试将代码从 selection changed method of lefthand side grid 带到 初始化方法的形式,但我在树节点等方面遇到了一些困难

有人可以建议我最好的方法吗?

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

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

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

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

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

在方法 init 中调用这些行太早了,因为方法 run(在 init 之后执行)调用了方法 refreshGrids,它删除了临时文件中的数据表格的数据来源。