定义了一个DataGridView的控件,但是发现自定义的属性值无法在窗体界面进行修改,改过了又恢复成原来的值了。经检查,需要重写原Column方法的Clone属性。
public override object Clone()
{
GridReferColumn col = (GridReferColumn)base.Clone();
//以下为自定义属性
col.DataType = DataType;
col.ReferMapping = ReferMapping;
col.ReferForm = ReferForm;
col.TableName = TableName;
col.IsShowName = IsShowName;
return col;
}
添加以上方法以后,问题便可解决。
但是还有一个遗留问题:
Hashtable类型的属性无法设置,不能再窗体进行添加。目前我还是在初始化控件的时候再代码中对于该属性进行赋值。