我试图让 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;