[AX]AX2012开发新特性-添加计算字段到视图
2012-08-14 13:37
281 查看
AX2012中视图可以有计算字段,这里根据MSDN上的演示来看看如何添加计算字段到视图。
首先在AOT中创建视图名为TestCompColView,把CustTable表拖入到视图的DataSource中,可以看到名为CustTable_1的节点,把CustTable_1节点下的AccountNum和SubsgementId拖入到视图的字段中。
创建计算字段的第一步是要定义一个静态方法,比如这里的 :
这里使用了DictView.computedColumnString来获取在SQL语句中字段的表述名称,有了静态方法就可以在AOT中视图的字段下创建一个String Computed Column类型的字段,命名为compCol_Subseg_Acct,将其ViewMethod 属性设置为前面的静态方法compColSubsegAcctMethod,这样就完成了计算字段的创建。
那么计算字段是如何运作的呢?我们在AOT中保存视图时,方法compColSubsegAcctMethod被调用,视图从数据库同步数据,也仅在视图从数据库同步数据的时候被调用,后续对View的数据读取操作不会在调用函数,来看看这个函数的返回值:
在SQL跟踪窗口可以看到完整的SQL语句是:
可以看到前面函数的返回值被强化为:
在AOT中打开视图就能看到相应的数据了。
更多内容参看MSDN:http://msdn.microsoft.com/EN-US/library/gg845841
首先在AOT中创建视图名为TestCompColView,把CustTable表拖入到视图的DataSource中,可以看到名为CustTable_1的节点,把CustTable_1节点下的AccountNum和SubsgementId拖入到视图的字段中。
创建计算字段的第一步是要定义一个静态方法,比如这里的 :
private static server str compColSubsegAcctMethod() { #define.ViewName(TestCompColView) #define.DataSourceName("CustTable_1") #define.FieldSubsegmentId("SubsegmentId") #define.FieldAccountNum("AccountNum") str sReturn, sAccountNum, sSubsegmentId; DictView dictView2; // Construct a DictView object for the present view. dictView2 = new DictView(tableNum(#ViewName)); // Get a string that has the target field name // propertly qualified with an alias (such // as "A." or "B."). sAccountNum = dictView2.computedColumnString (#DataSourceName, #FieldAccountNum, FieldNameGenerationMode::FieldList, true); sSubsegmentId = dictView2.computedColumnString (#DataSourceName, #FieldSubsegmentId, FieldNameGenerationMode::FieldList, true); sReturn = "substring(" + sSubsegmentId + ",1,1) + ' - ' + " + sAccountNum; // Helpful confirming or diagnostic information. info(sAccountNum); info(sSubsegmentId); info(sReturn); return sReturn; }
这里使用了DictView.computedColumnString来获取在SQL语句中字段的表述名称,有了静态方法就可以在AOT中视图的字段下创建一个String Computed Column类型的字段,命名为compCol_Subseg_Acct,将其ViewMethod 属性设置为前面的静态方法compColSubsegAcctMethod,这样就完成了计算字段的创建。
那么计算字段是如何运作的呢?我们在AOT中保存视图时,方法compColSubsegAcctMethod被调用,视图从数据库同步数据,也仅在视图从数据库同步数据的时候被调用,后续对View的数据读取操作不会在调用函数,来看看这个函数的返回值:
substring(A.SUBSEGMENTID,1,1) + ' - ' + A.ACCOUNTNUM
在SQL跟踪窗口可以看到完整的SQL语句是:
CREATE VIEW [dbo].[TESTCOMPCOLVIEW] AS SELECT A.SUBSEGMENTID AS SUBSEGMENTID, A.ACCOUNTNUM AS ACCOUNTNUM, A.DATAAREAID AS DATAAREAID, A.RECID AS RECID, (CAST ( (substring(A.SUBSEGMENTID,1,1) + ' - ' + A.ACCOUNTNUM ) AS NVARCHAR(32) ) ) AS COMPCOL_SUBSEG_ACCT FROM CUSTTABLE A
可以看到前面函数的返回值被强化为:
(CAST ( (substring(A.SUBSEGMENTID,1,1) + ' - ' + A.ACCOUNTNUM ) AS NVARCHAR(32) ) ) AS COMPCOL_SUBSEG_ACCT
在AOT中打开视图就能看到相应的数据了。
更多内容参看MSDN:http://msdn.microsoft.com/EN-US/library/gg845841
相关文章推荐
- [AX]AX2012开发新特性-禁止表或者表字段
- [AX]AX2012开发新特性-Query的Having节点
- [AX]AX2012开发新特性-Valid time state table
- [AX]AX2012开发新特性-全文索引
- [AX]AX2012开发新特性-表继承
- [AX]AX2012开发新特性-outer join中使用QueryFilter
- [AX]AX2012开发新特性-UnitOfWork
- [AX]AX2012开发新特性-TempDB临时表
- iOS开发学习之#表视图#(2)添加行
- 【iOS-Cocos2d游戏开发之十六】添加本地通知(UILocalNotification)以及添加系统组件滚动视图(UIScrollView)!【2011年11月15日更新】
- iOS 11开发教程(十三)iOS11应用编辑界面添加视图
- sqlite特性 只能添加字段 不能修改字段 的解决方法 和php sqlite的管理工具 sqlbuddy
- crm2011的给lookup字段添加自定义视图
- 【x5平台二次开发项目】OA_对人员概念的关系添加关系(字段)以及对相应的mainWindow的修改
- AE二次开发,选择本地shp文件添加到AxMapControl控件中
- 深入解析iOS应用开发中九宫格视图布局的相关计算方法
- 在数据库开发过程中,数据库、表、字段、视图、存储过程等的命名规则
- Reporting Service添加计算字段
- iOS开发如何在一个透明视图上添加不透明的子控件
- SilverLight商业应用程序开发---学习笔记(9)从摘要信息跳转到详细信息 导航到细节视图 在弹出窗体打开细节视图 使用DataGrid控件的行细节显示特性显示细节内容 主/从视图的实现