Ax2012 - 获取网格中所选行的accountNum值

时间:2014-07-24 12:57:10

标签: axapta microsoft-dynamics x++ ax

cutslistepage形式中,我想获取网格中所选行的accountNum值并将其传递给另一个表单 我试过了:

int64 recordsCount;

    recordsCount = CustTable_ds.recordsMarked().lastIndex();  
  //  CustTable = CustTable_ds.getFirst(1);

2 个答案:

答案 0 :(得分:1)

如果要检索CustTable记录,请查看CustTableListPageInteraction课程。 在selectionChanged方法中,它具有以下代码:

custTable = CustTable::findRecId(this.listPage().activeRecord(queryDataSourceStr(CustTableListPage, CustTable)).RecId);

这是您检索记录的方法。但由于它已经完成,您可以简单地使用已在类声明中声明的custTable变量。

旁注:如果您有一个从列表页面打开的其他表单,则应根据表单数据源之间的关系自动过滤该表单。所以你可能正在寻找一个你不应该遇到的问题的解决方案。例如,创建一个表单,其中包含与CustTable表相关的数据源,它应该在列表页面和表单之间创建一个dynaink,过滤该客户的记录。

答案 1 :(得分:0)

如果只选择了一条记录,您可以这样做:

info(CustTable_ds.accountNum);

否则,如果选择了多个记录,则需要执行以下操作:

custTable = CustTable_ds.getFirst(true);
while (custTable)
{
    info(custTable.accountNum);
    custTable = CustTable_ds.getNext();
}