承接MOSS各种工作流开发 联系人:王先生.电话:18618405729QQ:252385878 QQ群:41696750 MSN:wanghao-3@hotmail.com

导航

MOSS自定义工具栏

     相信大家对自定义工具栏很有兴趣吧,在家里研究拉一下,把自己的代码给贴出来,给大家喜欢研究MOSS的哥们研究,研究 ,  其实就是继承一个编辑类就OK拉,这个自定义工具栏,在实际的MOSS开发中,很有帮助的,很多地方需要他。。


//这个类是工具栏的编辑类,工具栏 ,主要靠他
using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint.WebControls;

namespace WebPartDemo
{
    public class MyEditor : EditorPart
    {
        public MyEditor()
        {
            this.Title = "Custom Editor";
        }

        private PeopleEditor selPeople;

        protected override void CreateChildControls()
        {
            selPeople = new PeopleEditor();
            Controls.Add(selPeople);
        }

        public override bool ApplyChanges()
        {
            EnsureChildControls();
            (WebPartToEdit as WebPartDemo).DefaultTitle = selPeople.CommaSeparatedAccounts;
            return true;
        }

        public override void SyncChanges()
        {
            EnsureChildControls();
            selPeople.CommaSeparatedAccounts = (WebPartToEdit as WebPartDemo).DefaultTitle;
        }
    }
}

下面就是在我们的实际的运用中,运用到他,代码测试过,可以直接运用。
。using System;
using System.Runtime.InteropServices;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Serialization;

using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.WebPartPages;
using System.Collections.Generic;

namespace WebPartDemo
{
    [Guid("f7145e12-c25e-419f-90bd-ffe928ba084d")]
    public class WebPartDemo : System.Web.UI.WebControls.WebParts.WebPart
    {
        public WebPartDemo()
        {
            this.ExportMode = WebPartExportMode.All;
        }

        private string _defaultTitle;
        [Personalizable(), WebBrowsable(),
        WebDisplayName("默认标题"), WebDescription("列表项的默认标题"),
        SPWebCategoryName("新建设置")]
        public string DefaultTitle
        {
            get { return _defaultTitle; }
            set { _defaultTitle = value; }
        }

        private bool _customBool;
        [Personalizable(), WebBrowsable()]
        public bool CustomBool
        {
            get { return _customBool; }
            set { _customBool = value; }
        }

        private TextBox input;
        private Button btn;

      //编辑类主要靠这里的。。相信大家看看就明白啦
    public override EditorPartCollection CreateEditorParts()
        {
            List<EditorPart> list = new List<EditorPart>();(范性)
            MyEditor me = new MyEditor();
            me.ID = this.ID + "_me";
            list.Add(me);
            return new EditorPartCollection(list);
        }

        protected override void CreateChildControls()
        {
            input = new TextBox();
            Controls.Add(input);

            btn = new Button();
            btn.Text = "Add!";
            btn.Click += new EventHandler(btn_Click);
            Controls.Add(btn);
        }

        protected override void OnPreRender(EventArgs e)
        {
            input.Text = this.DefaultTitle;
        }

        void btn_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                this.DefaultTitle = input.Text;
                this.SetPersonalizationDirty();
            }
        }
    }
}
希望对MOSS开发的哥们有帮助,其实开发就是要多练习列子。。大家一起加油吧!

posted on 2007-06-18 09:26  A A  阅读(2600)  评论(3编辑  收藏  举报