Пользовательское свойство не будет сохранено при изменении в окне свойств

Я создал пользовательский столбец для DataGridView, и причина в том, что я хочу добавить свойство (тип) в столбец. Я щелкаю правой кнопкой мыши DataGridView и выбираю & quot; Редактировать столбцы ... & quot ;. Затем, когда я выбираю столбец, который является моим пользовательским типом столбца, я могу редактировать это свойство, но если я нажму "ОК" после редактирования, а затем перейдите к & quot; Редактировать столбцы ... & quot; снова значение, которое я присвоил своей собственности, исчезло.

Вот мой код:

public class CustomColumn : DataGridViewColumn
{
    [DisplayName("Type")]
    [Category("Custom Property")]
    public String type { get; set; }

    public CustomColumn()
        : base(new DataGridViewTextBoxCell())
    {
    }
}

И изображение окна свойств:

Изображение окна свойств http://s8.postimage.org/fzrke75gl/Capture.png

Может ли кто-нибудь сказать мне, что я делаю неправильно или что мне нужно добавить, чтобы при изменении значения в окне свойств это значение присваивалось свойству?

 Licentia23 авг. 2017 г., 15:15
У меня похожая проблема, может ли кто-нибудь помочь? / Stackoverflow.com вопросы / 45836304 / ...

Ответы на вопрос(1)

Решение Вопроса

Я думаю, тебе нужно переопределитьClone() метод, чтобы это работало:

public class CustomColumn : DataGridViewColumn {

  public CustomColumn()
    : base(new DataGridViewTextBoxCell()) {
  }

  [DisplayName("Type")]
  [Category("Custom Property")]
  public String type { get; set; }

  public override object Clone() {
    CustomColumn copy = base.Clone() as CustomColumn;
    copy.type = type;
    return copy;
  }
}

Видеть Пользовательские свойства переопределенных DataViewColumn не сохраняются

 Gunnarsi31 мая 2012 г., 12:13
Это сработало, спасибо тебе большое:)
 Daniel14 июн. 2014 г., 00:48
Работает как шарм. Обнаружение этого раньше спасло бы меня лучшую часть дня.
 user370056229 июл. 2018 г., 18:49
Имеет похожую проблему со свойством List, которое не сохраняется в пользовательском классе DataGridViewColumn в конструкторе VS. Не могу поверить, что это на самом деле исправило это. Спасибо!

Ваш ответ на вопрос