使用VS2010開發乙個簡單的自定義字段型別

2022-02-06 14:28:02 字數 2991 閱讀 6475

在sharepoint中建立自定義字段型別,必須完成兩個工作:建立繼承於spfield的字段類;編寫欄位的配置檔案,宣告欄位的基本屬性、欄位的實現類和字段的呈現邏輯等。

首先在sharepoint站點建立乙個自定義列表,我命名為「客戶資料」。

接下來開啟vs2010,並建立乙個空白sharepoint專案,我的專案命名為「mycustomfieldsdemo」,一定要選擇」部署為場解決方案「,否則不能部署;

然後新增乙個類customagefield.cs, **如下

view code

using system;

using system.collections.generic;

using system.linq;

using system.text;

using microsoft.sharepoint;

namespace mycustomfieldsdemo

public customagefield(spfieldcollection fields, string typename, string displayname)

: base(fields, typename, displayname)

//////

欄位的預設值

///public

override

string defaultvalue

}///

///判斷該欄位輸入的年齡是否合法

//////

///public

override

string getvalidatedstring(object value)

string valuestr = value.tostring();

int i = 0;

if (!int.tryparse(valuestr, out i) || i < 0 || i > 150)

return valuestr;}}

}

緊接著建立相應xml配置文件,先新增名為」xml」的sharepoint對映資料夾如下圖所示:

然後在該對映資料夾下新增乙個xml文件,我命名為「fldtypesagecustomfields.xml」,這裡注意這個xml文件的名稱一定是「fieldtypes*.xml」的形式。xml文件的**如下:

view code

xml version="1.0" encoding="utf-8" 

?>

<

fieldtypes

>

<

fieldtype

>

<

field

name

="typename"

>customagefield

field

>

<

field

name

="parenttype"

>text

field

>

<

field

name

="typedisplayname"

>年齡

field

>

<

field

name

="typeshortdescription"

>客戶年齡

field

>

<

field

name

="usercreatable"

>true

field

>

<

field

name

="fieldtypeclass"

>

mycustomfieldsdemo.customagefield,

$sharepoint.project.assemblyfullname$

field

>

fieldtype

>

fieldtypes

>

關於該xml文件的各節點說明如下表所示:

屬性或節點

說明typename

字段型別的唯一名稱,不能重複

typedisplayname

字段顯示名

internaltype

字段內部名稱

fieldtypeclass

欄位的實現類,需要採用類的全稱(含dll名稱)

sqltype

欄位的儲存型別

parenttype

欄位的父類名稱

sortable

是否允許排序

fieldeditorusercontrol

欄位的屬性編輯控制項

filterable

是否允許過濾

headerpattern

基於欄位的欄顯示在列表上時標題行呈現定義

displaypattern

基於欄位的欄在顯示頁面(dispform)時的呈現定義

editpattern

基於欄位的欄在編輯頁面(editform)時的呈現定義

newpattern

基於欄位的欄在新建頁面(newform)時的呈現定義

ok,現在可以部署了,部署成功後在sharepoint站點的「客戶資料」列表下點選「列表工具」選項卡下的「列表「選項卡,再點選」建立欄「,如下圖所示

其他選項保持預設值,單擊」確定「按鈕,這時」客戶資料「列表就多了」客戶年齡「一欄,我們再點選新增新專案,這個時候大家可以發現除了標題還多乙個字段」客戶年齡「,如果我們在該字段輸入不合法,比如」-56「就提示錯誤,這個錯誤就是我們在customagefield類裡所宣告丟擲的異常。

ok,完工!

使用VS2010進行Django開發

一 安裝python2.7 因為django1.4 目前還不能支援最新版本的python3.2.3 安裝完了,我們配置一下環境變數,這樣我們可以使用cmd 在任何地方執行python命令了 二 安裝python tools for visual studio 當前版本為 1.5 beta 1,支援d...

一 VS2010建立乙個MFC專案

一 建立乙個mfc專案 執行vs2010 雙擊執行vs2010開發工具。新建專案 在彈出的視窗中選擇檔案,然後選擇新建,最後選擇專案。選擇mfc應用程式 在彈出的視窗中的已安裝模板選擇mfc,在右側選擇mfc應用程式。設定工程名和儲存路徑 在下面的名稱處輸入工程的名,在位置處輸入工程在磁碟上的位置。...

第乙個在vs2010中開發的autoCAD程式

第乙個在 vs2010 中開發的 autocad 程式 建立windows 窗體應用程式 如果建立控制台程式,尚未解決為什麼不能最終在 autocad 中執行出來的原因 要新增兩個 com引用 autocad 2013type library 我的機子裡裝的是 cad2013 版autocad ob...