コード例 #1
0
        public void RaiseCallbackEvent(string eventArgument)
        {
            string[] eventArg = eventArgument.Split(new string[1] {
                "#;"
            }, StringSplitOptions.None);

            action = eventArg[0];
            source = Utilities.DeserializeObject <DesignDataSource>(eventArg[1]);


            designWebPart = WebPartToEdit as DesignWebPart;
            if (designWebPart != null)
            {
                if (!string.IsNullOrEmpty(designWebPart.DataSourcesData))
                {
                    sources = Utilities.DeserializeObject <List <DesignDataSource> >(SourceValue);
                }

                if (sources == null)
                {
                    sources = new List <DesignDataSource>();
                }

                if (action.ToLower() == "delete")
                {
                    DesignDataSource found = sources.Single(n => n.Id == source.Id);
                    if (sources.Remove(found))
                    {
                        result = "DataSource Deleted";
                        //designWebPart.DataSourcesData = Utilities.SerializeObject(sources);
                    }
                }

                if (action.ToLower() == "update")
                {
                    int index = sources.FindIndex(n => n.Id == source.Id);
                    if (index >= 0)
                    {
                        sources[index] = source;
                        result         = "DataSource Updated";
                        //designWebPart.DataSourcesData = Utilities.SerializeObject(sources);
                    }
                    else
                    {
                        sources.Add(source);
                        result = "DataSource Added";
                        //designWebPart.DataSourcesData = Utilities.SerializeObject(sources);
                    }
                }
                SourceValue = Utilities.SerializeObject(sources);
                designWebPart.DataSourcesData = SourceValue;
                repeater.DataSource           = sources;
                repeater.DataBind();
                this.DataBind(true);
            }

            //webpart.DataSourcesData = Utilities.SerializeObject(repeater.DataSource);
        }
コード例 #2
0
        /// <summary>
        /// sync changes from web part
        /// </summary>
        public override void SyncChanges()
        {
            EnsureChildControls();

            designWebPart = WebPartToEdit as DesignWebPart;
            if (designWebPart == null)
            {
                return;
            }

            SourceValue = designWebPart.DataSourcesData;
            SyncSources();
        }
コード例 #3
0
 /// <summary>
 /// apply changes to web part
 /// </summary>
 /// <returns></returns>
 public override bool ApplyChanges()
 {
     try
     {
         designWebPart = WebPartToEdit as DesignWebPart;
         if (designWebPart == null)
         {
             return(false);
         }
         designWebPart.DataSourcesData = SourceValue;
     }
     catch (Exception)
     {
         return(true);
     }
     return(true);
 }