自定义属性DataGridViewTextBoxColumn未保存

时间:2014-12-16 12:53:20

标签: c# winforms datagridview visual-studio-2013

我需要向DataGridViewTextBoxColumn添加字符串属性:为此,我创建了自定义列:

public class MhsDataGridViewTextBoxColumn : DataGridViewTextBoxColumn
{
    public string TableName { get; set; }

    public MhsDataGridViewTextBoxColumn()
    {
        this.CellTemplate = new DataGridViewTextBoxCell();
    }
}

并在列编辑器中正确显示:

enter image description here

但如果我按下确定并保存列属性,则不会保存新属性,每次打开列编辑器时TableName属性都为空。

有一种存储自定义属性的简单方法吗?

感谢

1 个答案:

答案 0 :(得分:6)

我相信您需要覆盖克隆功能才能使其正常工作:

public override object Clone() {
  var column = base.Clone() as MhsDataGridViewTextBoxColumn;
  if (column != null) {
    column.TableName = this.TableName;
  }
  return column;
}