Office中国论坛/Access中国论坛
标题:
如何在列表模板中增加一个计算列
[打印本页]
作者:
ocean
时间:
2005-7-19 21:59
标题:
如何在列表模板中增加一个计算列
***********************************************************************************
*
版权声明
*
此文章为ocean所有,版权归ocean所有,任何网站
*和 媒体转载必须包含此段声明,否则将视为侵权,作者将
* 保留一切权力。此声明为此文章中不可或缺的一部分。
* 作者网名:ocean
* 作者email:[url=mailto
cean@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&"aa"</Formula><FieldRefs><FieldRef
Name="Title" /></FieldRefs></Field>
也即公式写在<Formula></Formula>之间
即可。这里简要说明一下,DisplayName对应的为Title,Name对应的是InternalName。在<FieldRefs>中对应的为引用的列名。这个列名需要是InternalName。
在sps的界面上自定义列表的时候,添加的栏的栏名为Title,也就是DisplayName,真正的Name是自动生成的,类似_x5217_14。
</img>
作者:
ui
时间:
2005-7-23 18:41
又有新例子,收了
作者:
剑气潇潇
时间:
2005-9-15 18:45
好东西
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3