<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    簡易代碼之家

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      157 Posts :: 2 Stories :: 57 Comments :: 0 Trackbacks
    最后實現效果如下:

    設置欄如下:

    解決方案結構如下:


    fldtypes_RoyCustomField.xml 內容如下:
    <?xml version="1.0" encoding="utf-8" ?>
    <FieldTypes>
      
    <FieldType>
        
    <Field Name="TypeName">RoyCustomField</Field>
        
    <Field Name="ParentType">Text</Field>
        
    <Field Name="TypeDisplayName">RoyCustomField</Field>
        
    <Field Name="TypeShortDescription">RoyCustomField</Field>
        
    <Field Name="UserCreatable">TRUE</Field>
        
    <Field Name="FieldTypeClass">RoyCustomField.RoyCustomField,$SharePoint.Project.AssemblyFullName$</Field>
      
    </FieldType>
    </FieldTypes>

    RoyCustomField.cs 內容如下:
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.WebControls;
    using System.Web.UI.WebControls;
    using System.Web.UI;
    using System;
    namespace RoyCustomField
    {
        
    public class RoyCustomField : SPFieldText
        {
            
    public RoyCustomField(SPFieldCollection field, string strFieldName)
                : 
    base(field, strFieldName)
            {
            }
            
    public RoyCustomField(SPFieldCollection field, string strFieldName, string strDispName)
                : 
    base(field, strFieldName, strDispName)
            {
            }
                

            
    public override BaseFieldControl FieldRenderingControl
            {
                
    get
                {
                    BaseFieldControl fc 
    = new RoyText();
                    fc.FieldName 
    = this.InternalName;
                    
    return fc;
                }
            }
        }


        
    public class RoyText : BaseFieldControl
        {

            
    private DropDownList _ddlProvince;
            
    private DropDownList _ddlCity;
            
    #region Province of autoPostBack
            
    void Province_SelectedIndexChanged(object sender, EventArgs e)
            {
                _ddlCity.Items.Clear();
                
    if (_ddlProvince.SelectedValue.ToString() == "河北省")
                {
                    _ddlCity.Items.Add(
    new ListItem("石家莊市""石家莊市"));
                }
                
    else if (_ddlProvince.SelectedValue.ToString() == "山東省")
                {
                    _ddlCity.Items.Add(
    new ListItem("濟南市""濟南市"));
                }
                
    else
                {
                    _ddlCity.Items.Add(
    new ListItem("北京市""北京市"));
                }
            }
            
    #endregion
            
    protected override void CreateChildControls()
            {

                
    base.CreateChildControls();
                
    this.TemplateContainer.FindControl("_ddlProvince");
                _ddlProvince 
    = new DropDownList();
                _ddlProvince.Items.Add(
    new ListItem("河北省""河北省"));
                _ddlProvince.Items.Add(
    new ListItem("山東省""山東省"));

                _ddlProvince.AutoPostBack 
    = true;
                _ddlProvince.SelectedIndexChanged 
    += Province_SelectedIndexChanged;
                
    this.Controls.Add(_ddlProvince);
                
    this.Controls.Add(new LiteralControl(" - "));
                
    this.TemplateContainer.FindControl("_ddlCity");
                _ddlCity 
    = new DropDownList();
                _ddlCity.Items.Add(
    new ListItem("石家莊市""石家莊市"));
                _ddlCity.Items.Add(
    new ListItem("濟南市""濟南市"));
                
    this.Controls.Add(_ddlCity);
            }

            
            
    public override object Value
            {
                
    get
                {
                    
    this.EnsureChildControls();
                    
    return _ddlProvince.Text+"-"+_ddlCity.Text;
                }
                
    set
                {
                    
    string fv = (string)this.ItemFieldValue;
                    
    if (fv.Contains("-"))
                    {
                        
    string[] all = fv.Split('-');
                        _ddlProvince.Text 
    = all[0];
                        _ddlCity.Text 
    = all[1];
                    }
                }
            }
        }
    }

    注意事項:

    1.xml的文件名必須以fldtypes_開頭,否則不能識別。

    2.如果要設置默認值請Override DefaultValue,如果要驗證格式是否正確請Override GetValidatedString。


    本文參考:http://www.cnblogs.com/Roy_Cao/archive/2012/08/14/2637542.html 
    posted on 2013-07-02 10:09 Jakin.zhou 閱讀(375) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: aa级一级天堂片免费观看| 亚洲影院天堂中文av色| 99视频在线免费| 伊人久久五月丁香综合中文亚洲 | 亚洲视频免费观看| 亚洲精品字幕在线观看| 天黑黑影院在线观看视频高清免费 | 日韩在线观看视频免费| 亚洲?V无码乱码国产精品| 三年片在线观看免费| 亚洲日韩一区精品射精| 国产精品亚洲а∨无码播放| 无码永久免费AV网站| a在线免费观看视频| 亚洲欧美日韩综合久久久| 亚洲精品无码高潮喷水在线| 成年女人免费视频播放体验区| 久久综合久久综合亚洲| 亚洲精品午夜无码电影网| 四虎成人免费观看在线网址 | 日本免费人成网ww555在线| 亚洲AV天天做在线观看| 亚洲av纯肉无码精品动漫| 性xxxx视频播放免费| 三上悠亚电影全集免费| 日韩免费高清视频| 在线看片免费人成视频福利| 亚洲精品无码专区在线播放| 亚洲国产人成网站在线电影动漫| 99久久人妻精品免费一区| 青青草97国产精品免费观看| 亚洲av极品无码专区在线观看| 成年男女免费视频网站| 免费国产99久久久香蕉| 色吊丝性永久免费看码| 亚洲日韩国产一区二区三区在线| 亚洲麻豆精品果冻传媒| 日韩亚洲人成在线综合日本| 无码免费午夜福利片在线| 无码精品国产一区二区三区免费 | 亚洲av无码专区亚洲av不卡|