[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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值