<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 国产在线观看片a免费观看| 亚洲网站在线免费观看| 好紧我太爽了视频免费国产| 中文字幕免费在线视频| 久久这里只精品国产免费10| 亚洲视频免费播放| 四虎在线视频免费观看视频| 一本无码人妻在中文字幕免费| 在线免费观看视频你懂的| 国产成人免费福利网站| 亚洲AV无码一区二三区| 亚洲一区无码中文字幕| 亚洲视频在线免费观看| 亚洲娇小性xxxx色| 美女裸免费观看网站| 国内精品99亚洲免费高清| 日韩精品无码免费一区二区三区 | 国产99久久久久久免费看| 两个人的视频www免费| 一区二区三区福利视频免费观看| 精品国产sm捆绑最大网免费站| 好大好深好猛好爽视频免费| 亚洲一区二区三区无码影院| 亚洲国产综合专区在线电影| 亚洲乱码在线观看| 一个人看的www在线免费视频| 久久w5ww成w人免费| 成人免费视频一区二区三区| 亚洲国产精品尤物yw在线| 久久久亚洲精品视频| 中文字幕亚洲精品无码| sss在线观看免费高清| 亚洲视频在线观看免费视频| 免费国产成人午夜电影| 亚洲国产精品一区二区久久| 亚洲精品乱码久久久久久V| 国产精品免费视频观看拍拍| 国产电影午夜成年免费视频| 免费中文字幕一级毛片| 777亚洲精品乱码久久久久久| 亚洲精品色在线网站|