Forms 如何根据显示方法值在表单网格中隐藏记录?

Forms 如何根据显示方法值在表单网格中隐藏记录?,forms,gridview,axapta,dynamics-ax-2012,x++,Forms,Gridview,Axapta,Dynamics Ax 2012,X++,我有一个简单的表单,在我的数据源中我创建了一个经典的displayMethod(名为calculateAmount),并使用这个方法在表单的网格中显示值 因此,可以只显示calculateAmount中具有特定值的记录,例如,我想只显示calculateAmount()大于0的记录,而不显示calculateAmount()小于0的其他记录 因此,如果我不能混合使用查询和显示方法,那么我可以在哪里插入条件(例如active executeQuery等) 感谢您的建议。考虑以下顺序: 执行查询被调

我有一个简单的表单,在我的数据源中我创建了一个经典的displayMethod(名为calculateAmount),并使用这个方法在表单的网格中显示值

因此,可以只显示calculateAmount中具有特定值的记录,例如,我想只显示calculateAmount()大于0的记录,而不显示calculateAmount()小于0的其他记录

因此,如果我不能混合使用查询和显示方法,那么我可以在哪里插入条件(例如active executeQuery等)


感谢您的建议。

考虑以下顺序:

  • 执行查询被调用,AOT查询被转换为SQL查询
  • 结果在
    executeQuery()之后从SQL server获取
  • 为每个记录调用显示方法,然后值显示在网格上
  • 因此,您不能基于显示方法值在
    执行查询
    上添加查询范围

    你可以做一件事:

  • 复制数据源表并将其表类型属性设置为TempDB
  • executeQuery
    方法中,编写逻辑以填充新创建的表
  • 您可以在此处添加如下条件:

    if([您的数据源].calculateAmount()>0)
    {
    //不要在临时表中添加记录
    }
    其他的
    {
    //在临时表中添加记录
    }

  • 将临时表设置为网格的数据源


  • 希望这有帮助

    考虑以下顺序:

  • 执行查询被调用,AOT查询被转换为SQL查询
  • 结果在
    executeQuery()之后从SQL server获取
  • 为每个记录调用显示方法,然后值显示在网格上
  • 因此,您不能基于显示方法值在
    执行查询
    上添加查询范围

    你可以做一件事:

  • 复制数据源表并将其表类型属性设置为TempDB
  • executeQuery
    方法中,编写逻辑以填充新创建的表
  • 您可以在此处添加如下条件:

    if([您的数据源].calculateAmount()>0)
    {
    //不要在临时表中添加记录
    }
    其他的
    {
    //在临时表中添加记录
    }

  • 将临时表设置为网格的数据源


  • 希望这有帮助

    如果使用现有表字段计算计算量,则这将有助于您如果使用现有表字段计算计算量,则这将有助于您或您可以使用具有计算列的视图(前提是您可以使用SQL计算值)。或者可以使用具有计算列的视图(前提是可以使用SQL计算值)。