动态添加网格列

时间:2016-06-27 15:25:28

标签: axapta microsoft-dynamics dynamics-ax-2012 x++ dynamics-ax-2012-r3

我创建了一个包含单个数据源的表单:InventJournalTable

我还在其上添加了一个网格,并在数据源中添加了两个字段:JournalTypeJournalId

ActionPane有一个按钮,在其点击的事件处理程序中,我尝试执行以下操作:

1.  add a new data source and join it with the current one on JournalId
2.  add to fields from the newly added data source to the current Grid. 

这就是我现在所拥有的...仅用于测试..我试图访问数据源并添加范围。它工作得很好,也许连接工作也正常,但我怎样才能添加这两个字段?

void clicked()
{
    Query query;
    QueryBuildDataSource qbdsInventJournalTable;
    QueryBuildDataSource qbdsvwInventJournals;

    super();

    query = InventJournalTable_ds.query();
    qbdsInventJournalTable = query.dataSourceTable(tableNum(InventJournalTable));

    qbdsInventJournalTable.addRange(fieldNum(InventJournalTable, JournalType)).value(queryValue(InventJournalType::LossProfit));

    qbdsvwInventJournals = qbdsInventJournalTable.addDataSource(tableNum(vwInventAdjJrnlCostAmount));
    qbdsvwInventJournals.addLink(fieldNum(InventJournalTable, JournalId), fieldNum(vwInventAdjJrnlCostAmount, JournalId));
    qbdsvwInventJournals.joinMode(JoinMode::OuterJoin);

    //gridOverview.addDataField(

    InventJournalTable_ds.executeQuery();
}

还有一件事,我计划添加另一个名为“删除详细信息”的按钮,它将删除第二个数据源,并且网格应该返回其初始状态。

我至少走在正确的轨道上吗?我可以得到一些关于此的提示吗?

1 个答案:

答案 0 :(得分:5)

您是否只考虑在表单上添加数据源/字段等,而不是动态添加数据源/字段等,但是在需要之前禁用已连接的数据源?在我看来,这是一个更简单/更清洁的解决方案。

见这里: http://olondono.blogspot.com/2008/06/how-to-enable-or-disable-joined.html