在自定义字段类型的CAML中使用JQuery

本文将通过两种方式实现SharePoint 2007中自定义字段的CAML调用 jQuery AJAX。分别是:

1、传统的编写代码的方式,配合FLDTYPES_你的字段类型.xml,生成自定义字段类型。

2、使用jianyi的 SPCAMLEditor工具,直接修改某列表的字段的CAML。

前者可重用性高, 而后者简单快速,大家可以根据自己的情况进行选择。

我们知道,在字段的架构CAML中可以编写客户端代码,如HTML标记,CSS和Javascript代码。得益于jQuery AJAX的强大,我 们可以进一步的在字段CAML中以异步方式处理与服务器端的查询,而不必重新加载页面。两者结合起来,一定可以极大丰富自定 义字段的使用体验。

首先 ,我们来看传统编码方式的实现步骤:

新建一个项目, 本例中,我们直接使用类库项目。为其起一个名字:

复制12 hive目录(就是C:\Program Files\Common Files\Microsoft Shared\web server extensions\12,这是 Todd Bleeker的说法)的结构,以便放置自定义字段类型。根据需要重命名class1.cs(这里为QuickViewField.cs)

我们创建了XML文件夹来存放字段定义文件FLDTYPES_...,在这个文件里会调用jQuery。我们还创建了LAYOUTS\jQuery来存放 jquery文件。你可以从http://jquery.com/下载它。

有很多方式可以引用jquery文件。你可以直接通过google引用,但这种方式不推荐用于生产环境。你也可以将其存放在 _layouts下的某个地方,或者放在样式库中,完全看个人喜好了。

本例中,我决定把它放在LAYOUTS下。

接下来,你需要为你的组件添加一个强名。

现在,开始编写QuickViewFieldType.cs的代码:

public class QuickViewFieldType:SPFieldText
{
     public QuickViewFieldType(Microsoft.SharePoint.SPFieldCollection fields, string typeName, string  displayName)
         : base(fields, typeName, displayName)
     { }
     public QuickViewFieldType(SPFieldCollection fields, string fieldName)
         : base(fields, fieldName)
     { }
     public override void OnAdded(SPAddFieldOptions op)
     {
         base.OnAdded(op);
         this.ShowInDisplayForm = false;
         this.ShowInEditForm = false;
         this.ShowInNewForm = false;
         this.Update(true);
     }
}

里面有2个默认的构造器。OnAdded覆写方法是为了确保该字段不会显示在Disp/Edit/NewForm.aspx中(也就是列表的显示, 编辑,新建页面)。

时间: 2025-01-21 03:00:36

在自定义字段类型的CAML中使用JQuery的相关文章

MOSS 2010 自定义字段类型,创建栏成功,但是打开添加列表内容出现错误,请问是怎么回事?

问题描述 要实现的自定义字段类型功能是,自定义一个可以验证Email格式的多行文本框.我贴出来我的开发过程:首先,我创建了一个空的sharepoint项目,命名为:ITSM.CustomFields第二步,添加三个类文件,Email.Field.cs,Email.Field.Value.cs,Email.FieldControl.cs第三步,添加UserControl,EmailFieldRendering.ascx第四步,添加xml文件,fldtypes_Email.xml最后我把第三步,第四

sql2005的xml字段类型在.net中的应用

sql|sql2005|xml    今天要介绍的就是sql2005的xml字段类型在.net中的应用.调用过程是:先运用并行化的办法把xml字段类型中的数据转换成Model对象,对Model对象操作后,再运用串行化的方法把Model对象转变成xml格式,最后存储到数据库中.       我认为如果把复杂的业务关系数据存储在xml字段中,可简化数据库的设计,方便业务的处理.        这里写了个小demo:            假如我们有很多店铺信息,每个店铺都有一个ShopID, 所以我

动易首页调用自定义字段内容的修改方法

动易系统提供了强大的自定义列表标签([ArticleList(参数列表)]列表内容[/ArticleList]),可以让我们更自由更个性的设计自己的页面. 同时,提供的自定义自段更给我们带来了强大的扩展空间. 今天有朋友问题到我在首页调用自定义列表标签时无法解析自定义字段,在页面中直接显示字段名称了. 我以前很少用到自字义字段,而且在首页用自定义列表去调用自字义字段就更没用过了呵. 临时测试一下,果然是这样的.便作了一下修改,让能在首页解析出来.下面说说修改方法: 以文章模块为例,修改Inclu

CAML中比较日期时间类型

在做Sharepoint的列表查询的时候,经常要用到CAML,今天我在做一个工作流授权列表的查询,里面要求根据人员.工作流名称.授权开始时间和授权结束时间找到对应的授权人,没有找到就返回本人.使用CAML QueryBuilder生成了查询,然后修改了其中的对应的变量,进行查询.结果发现查询结果有问题.原来是在CAML中使用的日期类型的表示必须是一种国内很少用的特殊的格式,,形如"2009-04-09T15:11:20Z"网上找了一下,使用SPUtility.CreateISO8601

Elasticsearch入门必备——ES中的字段类型以及常用属性

使用Elasticsearch时,了解字段的概念,是必不可少的.毕竟无论是es还是传统的数据库,都无法弱化字段的类型. 背景知识 在Es中,字段的类型很关键: 在索引的时候,如果字段第一次出现,会自动识别某个类型,这种规则之前已经讲过了. 那么如果一个字段已经存在了,并且设置为某个类型.再来一条数据,字段的数据不与当前的类型相符,就会出现字段冲突的问题.如果发生了冲突,在2.x版本会自动拒绝. 如果自动映射无法满足需求,就需要使用者自己来设置映射类型,因此,就需要使用者了解ES中的类型. 下面就

SQL中varchar和nvarchar字段类型的区别

sql|区别|varchar|字段类型 在SQL Server 2000中,NVARCHAR和VARCHAR区别是什么? SQL Server提供两种数据类型来存储字符信息.在如何在SQL Server或应用程序中使用方面,这两种数据类型大致是一样的.差别在于nvarchar是用于存储处理数据库图表中多语言数据的Unicode数据.其它语言有一套需要保存的字符代码的扩展集,这种数据类型支持这样的扩展.因为需要存储其它语言的扩展字符代码,nvarchar占用的空间是varchar的两倍.     

WSS3SDK之演练--在mobile页面中创建自定义字段渲染控件

本演练将展示如何通过自定义字段渲染控件关联一个RenderingTemplate来定制mobile页面上的字段渲染.下面的样例展示了如何定制通知列表项的标题字段在mobile的显示项目,新建项目和编辑项目页面中的渲染.根据3类页面的不同,定制化的内容也不一样: 显示窗体- 添加了一个搜索链接,使得用户可以导航到MSN新闻搜索结果页面. 编辑窗体- 当到期日期一栏的值小于当前日期时添加了默认文本. 新建窗体- 添加了默认文本来为用户展示待输入的值的特定格式. 必要要求 完成了前面的关于定制Mobi

在SQL Server中修改字段类型和字段名称

  在SQL Server中修改字段类型和字段名称 --以下是完整的SQL执行语句 if exists(select * from syscolumns where id=object_id('数据表名称') and name='字段名') --判断该字段是否存在 begin ALTER TABLE 表明 ALTER COLUMN 字段名 VARCHAR(64);--更改类型 end GO if exists(select * from syscolumns where id=object_id

SqlServer中 字段类型是money。要怎么接收?

问题描述 SqlServer中 字段类型是money.要怎么接收? sqlserver数据表中字段有bill_money其类型是money.GetCollect("bill_money").XX 要怎么接收? 解决方案 用float,double都行