Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I am looking to add custom properties to a tool part. I've been able to add the textbox as desired. I've been able to enter values and display it in the webpart.

The problem is when I edit the webpart - the panel pops up but the control I added is not populated with the previously entered value. See below:

Why doesn't this work? :(

I have followed the instructions on this website exactly as written - neither myself nor a more experienced Sharepoint developer co-worker is able to figure out what's going on here.

We thought that overriding the SyncChanges() method would allow for this - It seems it doesn't, unless our implementation isn't correct?

    public override void SyncChanges()
    {
        DemoWebPart wp = (DemoWebPart)this.ParentToolPane.SelectedWebPart;
        urls.Text = wp.ListValue;
    }

We have also prefixed the urls property of the DemoWebPart.cs class with the following, to no avail:

    [Browsable(true), Category("Miscellaneous"),
    DefaultValue("Site Names"),
    WebPartStorage(Storage.Shared / Personal / None),
    FriendlyName("URLs"), Description("Text Property")]

(Having tried Storage.Shared, Storage.Personal, and Storage.None).

Any help you can provide would be greatly appreciated - thanks in advance!

share|improve this question
add comment

1 Answer 1

up vote 3 down vote accepted

When I have done the same I have always set the values of the custom property controls inside the ToolPart's CreateChildControls method to the corresponding values of the properties in the WebPart.

protected override void CreateChildControls()
{
   (MyWebPart) wp = (MyWebPart) this.ParentToolPane.SelectedWebPart;

   TextBox t = new TextBox();
   t.Text = wp.CustomTextProperty; // Set value to the webpart property
   this.Controls.Add(t);
}

This seems to work fine.

share|improve this answer
    
+1. To add: you can find some examples of how to deal with toolparts, in the following opensource project: enhancedwebpart.codeplex.com –  Andrey Markeev Jan 24 '12 at 17:55
    
Thank you robwilliams, those two lines were missing. Adding them in resolved the issue! –  splatto Jan 24 '12 at 18:39
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.