Completed
Last Updated: 28 Jun 2016 12:28 by ADMIN
To reproduce:

Add a RadPropertyGrid to a form.  Use the following code:

this.radPropertyGrid1.SortOrder = System.Windows.Forms.SortOrder.Ascending;
this.radPropertyGrid1.PropertySort = System.Windows.Forms.PropertySort.Categorized;

As a workaround you can manually scroll to the top before performing a filtering operation:

public class MyPropertyGrid : RadPropertyGrid
{
    protected override PropertyGridElement CreatePropertyGridElement()
    {
        return new MyPropertyGridElement();
    }
}
 
public class MyPropertyGridElement : PropertyGridElement
{
    protected override PropertyGridToolbarElement CreateToolbarElement()
    {
        return new MyPropertyGridToolbarElement();
    }
 
    protected override Type ThemeEffectiveType
    {
        get
        {
            return typeof(PropertyGridElement);
        }
    }
}
 
public class MyPropertyGridToolbarElement : PropertyGridToolbarElement
{
    protected override void ExecuteSearch()
    {
        this.PropertyGridElement.PropertyTableElement.Scroller.Scrollbar.Value = 0;
        base.ExecuteSearch();
    }
}
Completed
Last Updated: 20 Sep 2013 06:49 by ADMIN
Steps to reproduce: 
1. Add a RadPropertyGrid to a form 
2. Set the SelectedObject property to an object with numeric property 
3. Open the numeric property for edit and click the arrow buttons to change the value.
4. Click on another control that can take focus e.g. the form control box buttons You will see that the editor remains open.
Completed
Last Updated: 13 Mar 2013 05:02 by ADMIN
Pressing Ctrl + Enter should create a new row in the editor instead of closing it.

WORKAROUND:
Replace the default editor with the following one in the EditorRequired event:

 class MyPropertyGridTextBoxEditor : PropertyGridTextBoxEditor
    {
        protected override void OnKeyDown(System.Windows.Forms.KeyEventArgs e)
        {
            if (e.Modifiers == System.Windows.Forms.Keys.Control && e.KeyCode == System.Windows.Forms.Keys.Enter)
            {
                return;
            }

            base.OnKeyDown(e);
        }
    }
Completed
Last Updated: 25 Jul 2013 08:24 by ADMIN
ADMIN
Created by: Georgi I. Georgiev
Comments: 0
Category: PropertyGrid
Type: Bug Report
0
To reproduce
 - create a form with a RadPropertyGrid.
 - set ToolbarVisible to true
 - add some properties, but not enough to cause the scrollbar to appear.
 - start and click on the sort button: the sort is changed, but the scroll bar became visible even if it is not needed.
Workaround:
public class MyPropGrid : RadPropertyGrid
{
    protected override PropertyGridElement CreatePropertyGridElement()
    {
        return new MyPropGridElement();
    }

    public override string ThemeClassName
    {
        get { return typeof(RadPropertyGrid).FullName; }
        set { }
    }
}

public class MyPropGridElement : PropertyGridElement
{
    protected override PropertyGridSplitElement CreateSplitElement()
    {
        return new MyPropGridSplitElement();
    }

    protected override Type ThemeEffectiveType
    {
        get { return typeof(PropertyGridElement); }
    }
}

public class MyPropGridSplitElement : PropertyGridSplitElement
{ 
    protected override PropertyGridTableElement CreateTableElement()
    {
        return new MyPropGridTableElemnet();
    }

    protected override Type ThemeEffectiveType
    {
        get { return typeof(PropertyGridSplitElement); }
    }
}

public class MyPropGridTableElemnet : PropertyGridTableElement
{
    protected override void UpdateScrollers(UpdateActions updateAction)
    {
        this.Scroller.UpdateScrollRange();
    }

    protected override Type ThemeEffectiveType
    {
        get { return typeof(PropertyGridTableElement); }
    }
}
Completed
Last Updated: 05 Jul 2013 01:44 by ADMIN
To reproduce:
List<PropertyStoreItem> propertyStoreItems = new List<PropertyStoreItem>();
propertyStoreItems.Add(modelItem);
RadPropertyStore store = new RadPropertyStore();
store.AddRange(propertyStoreItems);
Workaround:
Iterate the collection and use the Add method
foreach (var item in propertyStoreItems)
{
    store.Add(item);
}
Completed
Last Updated: 10 Oct 2013 07:45 by ADMIN
ADMIN
Created by: Georgi I. Georgiev
Comments: 0
Category: PropertyGrid
Type: Bug Report
0
To reproduce, use the following class:
public class NullableDummy
{
    public bool? Bool { get; set; }
    public byte? Byte { get; set; }
    public char? Char { get; set; }
    public decimal? Decimal { get; set; }
    public float? Float { get; set; }
    public int? Int { get; set; }
    public long? Long { get; set; }
    public sbyte? Sbyte { get; set; }
    public short? Short { get; set; }
    public string String { get; set; }
    public ulong? Ulong { get; set; }
    public ushort? Ushort{ get; set; }
}

And set it as a selected object of the property grid:
NullableDummy dummy = new NullableDummy();
this.propertyGrid.SelectedObject = dummy;

Change the Byte Property you will see that the value is not being set.
Completed
Last Updated: 10 May 2012 04:45 by ADMIN
When you change the CurrentUICulture the string "(none)" in the PropertyGridItemElement is localized but when you open the editor, the text is still "(none)".
Completed
Last Updated: 12 Nov 2013 17:44 by ADMIN
When the TypeConverter of a property cannot convert from string the text box editor that opens for this property should be read only.
Completed
Last Updated: 19 Jul 2013 05:36 by ADMIN
To reproduce:
- Create a PropertyGrid and initialize it like this:
PropertyStoreItem checkboxItem = new PropertyStoreItem(typeof(bool), "Checkbox", true);
_store = new RadPropertyStore();
_store.Add(checkboxItem);
this.radPropertyGrid1.SelectedObject = _store;

-change the store item first to null then to false

Workaround:
-Before you set the item value to false set it to true first like this:
item.Value = null;

//set first to true then to false
item.Value = true;
item.Value = false;
Completed
Last Updated: 31 Mar 2014 10:18 by ADMIN
RadPropertyGrid - when default value attribute is Color.Empty, the items is styled with bold font and "Modified" icon. 

Workaround: Use ItemFormatting event to style the item correctly. Code to reproduce: public class TestObj { private Color someColor; public TestObj() { this.someColor = Color.Empty; } [DefaultValue(typeof(Color), "Empty")] public Color SomeColor { get { return someColor; } set { someColor = value; } } } TestObj newObj = new TestObj(); this.radPropertyGrid1.SelectedObject = newObj; 
Completed
Last Updated: 10 Aug 2012 07:13 by ADMIN
When editing a DateTime? property the property grid shows a text box editor instead of calendar.
Completed
Last Updated: 20 Aug 2012 06:08 by ADMIN
RadPropertyGrid calls the TypeConverter methods GetStandardValuesSupported and GetStandardValues passing null as parameter when it should pass the property item.
Code to reproduce:

this.radPropertyGrid1.SelectedObject = new SomeClass();

public class SomeClass
{
    [TypeConverter(typeof(CustomValueConverter))]
    public string CustomValue
    {
        get;
        set;
    }
}

public class CustomValueConverter : TypeConverter    
{
    public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
    {
        return true;
    }

    public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
    {
        return base.GetStandardValues(context);
    }
}
Completed
Last Updated: 12 Dec 2012 07:26 by ADMIN
In some cases when the selected object is changed while a bool property is selected an InvalidCastExceptions is thrown.
Check ticket for reproduction steps and project.
Completed
Last Updated: 20 May 2013 02:40 by ADMIN
Currently when one filters properties through the Search bar they are filtered based on their Name instead of the display name or label.
Completed
Last Updated: 11 Nov 2013 05:17 by ADMIN
If the number of sub items for a property depends on the value of the properties and this value is changed the sub items are not invalidated in all cases.
Completed
Last Updated: 15 Nov 2013 06:16 by ADMIN
Steps to reproduce:

1. Create a class A with a boolean property
2. Create a class B with a property of type A and decorate it with [ReadOnly(true)] attribute
3. Set an instance of class B as the SelectedObject of a RadPropertyGrid
4. Try to change the boolean property. You will see you cannot.
1 2 3 4