CollectionEditor - Add/Remove buttons are disabled

Discussion in 'ASP .Net Building Controls' started by Dmitry Nogin, Apr 27, 2007.

  1. Dmitry Nogin

    Dmitry Nogin Guest

    Hi,

    Could you please suggest me some changes?

    I've got the following code, which represents the small component with collection property:

    class Test : Component

    {

    private BindingList<Item> items = new BindingList<Item>();



    [Editor(typeof(CollectionEditor), typeof(UITypeEditor)),

    DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]

    public IList<Item> Items

    {

    get { return items; }

    }

    }



    class Item

    {

    private string name;

    public string Name

    {

    get { return name; }

    set { name = value; }

    }

    }



    Unfortunately, Add and Remove button in CollectionEditor popup dialog are disabled. Why?

    I tried to inherit from Collection Editor and use the following editor:

    public class ItemCollectionEditor : CollectionEditor

    {

    public ItemCollectionEditor(Type type)

    : base(type)

    {

    }



    protected override Type CreateCollectionItemType()

    {

    return typeof(Item);

    }

    }



    It didn't change anything? What's wrong about this snippet?

    -- thanks
     
    Dmitry Nogin, Apr 27, 2007
    #1
    1. Advertisements

  2. Dmitry Nogin

    ClayB Guest

    Your code worked for me when I changed

    public IList<Item> Items
    {
    get { return items; }
    }

    to

    public BindingList<Item> Items
    {
    get { return items; }
    }

    Maybe the CollectionEditor knows it can add and remove from
    BindingList<> depending upon AllowNew and AllowRemove settings, but it
    does not know how to do this for IList<>.

    ================
    Clay Burch
    Syncfusion, Inc.
     
    ClayB, Apr 28, 2007
    #2
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.