设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3755|回复: 2
打印 上一主题 下一主题

如何在列表模板中增加一个计算列

[复制链接]
跳转到指定楼层
1#
发表于 2005-7-19 21:59:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


       ***********************************************************************************

      



       *                  

       版权声明                        

      



       *         

       此文章为ocean所有,版权归ocean所有,任何网站



       *和 媒体转载必须包含此段声明,否则将视为侵权,作者将  



       * 保留一切权力。此声明为此文章中不可或缺的一部分。  



       * 作者网名:ocean                                 

      



       * 作者email:[url=mailtocean@forever.net.cn][color="#0000ff"]ocean@forever.net.cn[/url]                  

      



       * 作者网站:[color="#0000ff"]http://www.oceanstudio.net            

      



       *                    

      

       [color="#800080"]http://sps.oceanstudio.net
            

      



       * 作者blog:博客园,[color="#0000ff"]http://www.cnblogs.com/ocean  

      

      

       *                 ocean's blog,[color="#800080"]http://www.oceanstudio.net/sps/blog

      



       * 此文章发表时间:2005年7月19日                     

      



       * 此文章源:http://ocean.cnblogs.com/archive/2005/07/19/195824.html                                    

      



       ************************************************************************************

      

      

      

      今天有一个网友询问,如果要在列表模板中增加一个计算列,公式应该写在什么地方。当时我也不知道怎么写,最正点的回答就是查SDK看CAML的语法帮助,当然CAML比较复杂,谁看着谁头疼,所以我就借用前段时间写的属性列表查看器(前段时间写的一个免费WebPart,可以点击此处下载

      

      详细信息
)来研究了一下。      

      列表模板的定义是在Schema.xml中定义的,要添加一列,只要在<Fields>节内增加一个<Field>即可。但是现在要解决是增加一个计算列。所以首先我想到的是先看看在界面上新建一个计算列时,这个列的schema是什么。      

      首先在一个列表中定义了一个计算列,列名为“列14”,定义公式为:标题&"aa"。实际很简单,就是在标题后面加上aa两个字符。然后通过属性列表查看器取这一列的schemaxml,得到如下:



      

      <Field Type="Calculated" DisplayName="列14" Format="DateOnly"

      LCID="2052" ResultType="Text" ReadOnly="TRUE" IMEMode="inactive"

      Name="_x5217_14" ColName="sql_variant1"><Formula>=Title&amp;"aa"</Formula><FieldRefs><FieldRef

      Name="Title" /></FieldRefs></Field>



            

           也即公式写在<Formula></Formula>之间

      即可。这里简要说明一下,DisplayName对应的为Title,Name对应的是InternalName。在<FieldRefs>中对应的为引用的列名。这个列名需要是InternalName。

      在sps的界面上自定义列表的时候,添加的栏的栏名为Title,也就是DisplayName,真正的Name是自动生成的,类似_x5217_14。

          </img>
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-7-23 18:41:00 | 只看该作者
又有新例子,收了
3#
发表于 2005-9-15 18:45:00 | 只看该作者
好东西
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-10 00:55 , Processed in 0.093380 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表