日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當(dāng)前位置:雨林木風(fēng)下載站 > 辦公軟件教程 > 詳細(xì)頁面

SharePoint 如何自定義字段

SharePoint 如何自定義字段

更新時間:2024-02-08 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

SharePoint發(fā)行版本有SharePoint2003、SharePoint2007、Sharepoint 2010、SharePoint2013和SharePoint2016。SharePoint提供了功能強大的團(tuán)隊協(xié)作環(huán)境,使得組織能夠在整個組織內(nèi)部實現(xiàn)整合、組織、查找和提供 SharePoint站點。

SharePoint使用的優(yōu)勢,就在于開箱即用、快速搭建,SharePoint自身為我們提供了很多字段類型,已經(jīng)很豐富了。但是,在實際應(yīng)用中,我們還需要一些功能特殊的字段,下面,我們簡單介紹下字段的開發(fā),大家了解以后,可以按照需求擴(kuò)展自己的字段類型。

1、新建項目,選擇SharePoint 2013 空項目,如下圖:

clip_image001

2、選擇調(diào)試網(wǎng)站和解決方案類型,如下圖:

clip_image002

3、添加新項,類,這個是用來定義字段的,如下圖:

clip_image003

4、添加新項,類,這個是用來編寫字段展示的,如下圖:

clip_image004

5、添加映射文件夾,如下圖:

clip_image005

6、選擇映射文件夾,這個文件夾,添加的是CustomFieldControl.cs的前臺文件,如下圖:

clip_image006

7、添加映射文件夾,選擇Xml,這個是字段的描述文件,如下圖:

clip_image007

8、為xml目錄下添加一個xml文件,用來寫字段的描述文件,如下圖:

clip_image008

9、在CONTROLTEMPLATES文件夾下,添加用戶控件,用來寫CustomFieldControl.cs的前臺文件,因為這樣,比較好進(jìn)行字段展示,如下圖:

clip_image009

10、刪除沒用的cs文件,最后的如下圖

clip_image010

11、為字段類CustomField.cs添加方法,如下圖:

clip_image011

12、字段類CustomField.cs完整代碼,有點長,關(guān)鍵代碼有注釋,如下:

SharePoint 如何自定義字段_本站
 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Web; 7 using System.Web.UI; 8 using System.Web.UI.WebControls; 9 using Microsoft.SharePoint;10 using Microsoft.SharePoint.WebControls;11 12 namespace SP2013CustomField13 {14     class CustomField : SPFieldText15     {16         public CustomField(SPFieldCollection fields, string fieldName)17             : base(fields, fieldName)18         {19         }20 21         public CustomField(SPFieldCollection fields, string typeName, string displayName)22             : base(fields, typeName, displayName)23         {24         }25 26         public override string DefaultValue //設(shè)置字段的默認(rèn)值27         {28             get29             {30                 return "http://";31             }32         }33 34         public override BaseFieldControl FieldRenderingControl //關(guān)聯(lián)字段展示控件35         {36             get37             {38                 BaseFieldControl fc = new CustomFieldControl();39                 fc.FieldName = this.InternalName;40                 return fc;41             }42         }43 44         public override string GetValidatedString(object value)//驗證字段是否符合要求45         {46             string StartStr = this.GetCustomProperty("CustomFieldProperty").ToString().ToLower();//獲得字段屬性47             string StartValue = string.Empty;48             if (value.ToString().Length > StartStr.Length)49             {50                 StartValue = value.ToString().ToUpper().Substring(0, StartStr.Length).ToLower();51             }52             // this.Required是否必填項的值53             if (this.Required == true || value == null || StartStr != StartValue)54             {55                 throw new SPFieldValidationException("該字段必須以" + StartStr + "開頭");//將不符合要求的錯誤拋出來,以小紅字顯示在欄的下面56             }57             return base.GetValidatedString(value);58         }59     }60 }
CustomField Class

13、為字段展示控件類CustomFieldControl.cs添加方法,如下圖:

clip_image012

14、附CustomFieldControl.cs完整代碼,如下:

SharePoint 如何自定義字段_本站
 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Web; 7 using System.Web.UI; 8 using System.Web.UI.WebControls; 9 using Microsoft.SharePoint;10 using Microsoft.SharePoint.WebControls;11 12 namespace SP2013CustomField13 {14     class CustomFieldControl : BaseFieldControl15     {16         public TextBox tbStart;17         public Image myImage;18 19         //獲取控件的值20         public override object Value21         {22             get23             {24                 EnsureChildControls();25                 if (tbStart != null)26                 {27                     return tbStart.Text;28                 }29                 else30                 {31                     return null;32                 }33             }34             set35             {36                 EnsureChildControls();37                 if (tbStart != null)38                 {39                     tbStart.Text = (String)value;40                 }41             }42         }43 44         //重寫默認(rèn)模板45         protected override string DefaultTemplateName46         {47             get48             {49                 if (this.ControlMode == SPControlMode.Display)50                 {51                     return this.DisplayTemplateName;52                 }53                 else54                 {55                     return "DefaultCustomFieldControl";56                 }57             }58         }59 60         public override string DisplayTemplateName61         {62             get63             {64                 return "DisplayCustomFieldControl";65             }66             set67             {68                 base.DisplayTemplateName = value;69             }70         }71 72         //重寫控件生成方法73         protected override void CreateChildControls()74         {75             base.CreateChildControls();76             if (this.Field != null)77             {78                 this.myImage = (Image)TemplateContainer.FindControl("myImage");79                 this.tbStart = (TextBox)TemplateContainer.FindControl("tbStart");80             }81             if (this.ControlMode == SPControlMode.Display)82             {83                 string strHeight = base.Field.GetCustomProperty("Height").ToString();84                 string strWidth = base.Field.GetCustomProperty("Width").ToString();85                 if (myImage != null)86                 {87                     myImage.ImageUrl = this.ItemFieldValue.ToString();88                     myImage.Width = Convert.ToInt32(strWidth);89                     myImage.Height = Convert.ToInt32(strHeight);90                 }91             }92         }93     }94 }
CustomFieldControl Class

15、CustomFieldControl.cs類的前臺文件,如下圖:

clip_image013

16、CustomFieldControl.cs前臺文件完整代碼,如下:

復(fù)制代碼
<%@ Control Language="C#" %><%@ Assembly Name="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %><%@ Register TagPrefix="SharePoint" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.WebControls" %>        
復(fù)制代碼

17、設(shè)置字段的描述文件,主要是字段的定義、字段屬性,如下圖:

clip_image014

18、字段描述文件完整xml,如下:

復(fù)制代碼
<?xml version="1.0" encoding="utf-8" ?>      自定義單行文本    Text    必須有特定標(biāo)識開頭的單行文本    自定義單行文本    TRUE    TRUE    TRUE    TRUE    TRUESP2013CustomField.CustomField, SP2013CustomField, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42c0b47fe35d0f54//字段屬性,如下                                              
復(fù)制代碼

19、在列表里添加欄,可以添加屬性,如下圖:

clip_image015

20、新建一條項目,圖片欄的驗證,如下圖:

clip_image016

21、展示頁面,如下圖:

clip_image017

22、查看項目頁面,不顯示url,在圖片控件中顯示,如下圖:

clip_image018

結(jié)

  自定義字段,主要有字段定義、字段控件、字段控件前臺、字段描述文件等組成,其中,字段前臺文件并非必須,可以添加Render將控件輸出,但是不好控制排版,所以復(fù)雜的字段需要前臺展示。

  其開發(fā)過程也不復(fù)雜,基本就是搭建開發(fā)模型,將各個部分創(chuàng)建,然后為各個部分添加代碼,建議先編寫簡單控件,部署沒有問題再添加復(fù)雜功能,以免出錯不好調(diào)試。當(dāng)然,調(diào)試附加相應(yīng)w3wp.exe進(jìn)程即可。


Sharepoint 可以幫助企業(yè)用戶輕松完成日常工作。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

主站蜘蛛池模板: 亚欧成人毛片一区二区三区四区 | 精品久久久久久中文字幕女 | 欧美一区二区在线视频 | 亚洲综合视频一区 | 五月婷网 | 91拍拍在线观看 | 日本不卡一区二区三区四区 | 婷婷综合久久中文字幕一本 | 在线精品欧美 | 亚洲一区日本 | 国产高清视频 | 亚洲日韩欧美一区二区在线 | 欧美人与禽交视频在线观看 | 久久久精品午夜免费不卡 | 国产在线视频你懂得 | 日韩在线一区二区三区 | 一区二区在线观看视频在线 | 欧美一区二区三区婷婷月色 | 青青在线香蕉国产精品 | 国内自拍青青草 | 日韩亚洲欧美理论片 | 国产在线观看精品香蕉v区 国产在线观看精品一区二区三区91 | 亚洲综合在线视频 | 四虎最新视频 | 日韩 欧美 亚洲 | 国产浮力第一浮力 | 黄视频免费网站 | 久久精品视频5 | 成 人免费va视频 | 精品欧美一区二区三区在线 | 国产网址在线观看 | 日本久久色 | 老司机成人影院 | 清纯制服被啪啪护士 | 丁香六月天婷婷 | 亚洲痴女 | 一区国严二区亚洲三区 | 乱色美www女麻豆 | 欧美日韩在线成人免费视频大全 | 老子午夜我不卡在线理伦 | 免费国产成人 |