Site Column是根据数据类型SPField创建的,创建页面如右图所示 SharePoint提供了比较丰富的数据类型,不过在有些项目中,会存在更复杂的业务逻辑,所以本文将介绍创建自定义的数据类型(Custom SPField). SPField有3个基本要素,分别是SPField的定义, SPField创建页面, SPField编辑控制,这些最后都会在FLDTYPES_(YourCustomName).XML中配置. Contact Initials是一个提供建议的控件,根据输入提示出用户全名和简称,类似于Google搜索建议. 首先Field定义ContactInitialField.cs继承自SPFieldText,并有几个自己的属性,这些属性定义了从哪里取用户全名和简称数据,有数据库连接字符串, 表名,字段名. 这些属性需要在创建Site Column时填入数值. ContactInitialFieldEditControl.ascx和ContactInitialFieldEditControl.cs定义了创建Site Column时的界面和动作 ContactInitialFieldControl.ascx和ContactInitialFieldControl.cs定义了在编辑属性是Site Column的显示,这里面包含了ajaxToolkit的AutoCompleteExtender. 最后在FLDTYPES_(YourCustomName).XML中配置我们编写的SPField. 最终效果: 下面是级联菜单的截图,field1是英文,field2是相对应的中文,当field1变化时,field2相应变化,另外还有人给出了无限级联菜单的解决方案, SharePoint Cascading Dropdown - Unlimited siblings. 下面是ajaxToolkit DropDownExtender的截图, 点击TextBox时,出现多选下拉菜单,选择后,只有再次点击TextBox(点击其他区域无效),菜单隐藏. |