1

我试图让 UltraGrid 使用通过编辑器属性设置的自定义编辑器。然而,它似乎忽略了设置,只使用它的内部编辑器。这是我的代码:

public class DialogEditor : UITypeEditor
{
    public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
    {
        return UITypeEditorEditStyle.Modal;
    }

    public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
    {
        MessageBox.Show("Testing 1,2,3");
        return base.EditValue(context, provider, value);
    }
}

public class TestContainer
{
    public TestContainer(int id, string name)
    {
        Id = id;
        Name = name;
    }

    [Editor(typeof(DialogEditor), typeof(UITypeEditor))]
    public int Id { get; set; }

    public string Name { get; set; }

    public override string ToString()
    {
        return string.Format("{0} : {1}", Id, Name);
    }
}

通过以下方式测试:

        var data = new List<object>
        { 
            new TestContainer(1, "one"),
            new TestContainer(2, "two"),
        };
        ultraGrid1.DataSource = data;
4

1 回答 1

1

回答:你不能。UITypeEditor 仅用于 PropertyGrids。请改用 Infragistics 可嵌入编辑器。

于 2011-01-25T10:55:16.753 回答