自定义属性DataGridViewTextBoxColumn未保存

ghi*_*boz 2 c# datagridview winforms visual-studio-2013

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

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

    public MhsDataGridViewTextBoxColumn()
    {
        this.CellTemplate = new DataGridViewTextBoxCell();
    }
}
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

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

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

谢谢

Lar*_*ech 6

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

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