• [AX]AX2012 嵌套使用Data contract class


    使用Report data provider作为SSRS报表数据源时,可以通过Data contract class来定义报表的参数,Data contract类可以嵌套使用,这样可以在多个报表中重用一个Data contract。具体参看下面的代码:

    [DataContractAttribute]
    public class SrsRDPNestedContractSample
    {
        boolean inclTax;
    }
    
    [DataMemberAttribute("InclTax")]
    public boolean parmInclTax(boolean _inclTax = inclTax)
    {
        inclTax = _inclTax;
        return inclTax;
    }

    上面的代码定义了一个名为SrsRDPNestedContractSample的data contract类,定义了一个参数inclTax,我们在另一个Data contract类中嵌套重用它:

    [DataContractAttribute]
    public class SrsRDPContractSample
    {
        AccountNum accountNum;
        CustAccountStatement accountStmt;
        SrsRdpNestedContractSample nestedContract;
    }
    
    
    [DataMemberAttribute("AccountNum")]
    public AccountNum parmAccountNum(AccountNum _accountNum = accountNum)
    {
        accountNum = _accountNum;
        return accountNum;
    }
    
    [DataMemberAttribute("CustAccountStatement")]
    public CustAccountStatement parmAccountStmt(CustAccountStatement _accountStmt = accountStmt)
    {
        accountStmt = _accountStmt;
        return accountStmt;
    }
    [DataMemberAttribute]
    public SrsRdpNestedContractSample parmNestedContract(SrsRdpNestedContractSample _nestedContract = nestedContract)
    {
        nestedContract = _nestedContract;
        return nestedContract;
    }

    在SrsRDPContractSample Data contract类中我们直接定义了一个SrsRdpNestedContractSample的变量parmNestedContract,由方法parmNestedContract方法定义这个报表参数。在报表中要获得内嵌的data contract类定义的参数值也很简单:

    ......
    
    // Get the parameters passed from runtime.
        // The base class methods read the SRSReportParameterAttribute attribute.
        dataContract = this.parmDataContract();
        accountNumber = dataContract.parmAccountNum();
        custAcctStmt = dataContract.parmAccountStmt();
    
        // Get the parameters from the nested contract.
        nestedDataContract = dataContract.parmNestedContract();
        boolInclTax = nestedDataContract.parmInclTax();
    ......

    更多内容详见http://msdn.microsoft.com/EN-US/library/gg731913.aspx

  • 相关阅读:
    《Java程序设计》第七次学习总结
    《Java程序设计》第六次学习总结
    实验二:Java面向对象程序设计
    《信息安全系统设计基础》第二次学习总结
    《信息安全系统设计基础+Linux 内核分析》第一次学习总结
    《Java程序设计》第五次学习总结
    《Java程序设计》第四次学习总结
    《Java程序设计》第三次学习总结
    next_permutation 函数
    POJ 3268 (dijkstra算法)
  • 原文地址:https://www.cnblogs.com/duanshuiliu/p/2777069.html
Copyright © 2020-2023  润新知