Доступ к элементу управления DataGridView при настройке свойства для пользовательского DataGridViewColumn - PullRequest
1 голос
/ 20 июня 2019

может помочь мне найти элемент управления DataGridView в свойстве setter пользовательского элемента DataGridViewColumn.Мой код ниже возвращает ноль.Я хочу получить родителя DataGridView моего пользовательского столбца.

public class CustomComboBoxColumn : DataGridViewComboBoxColumn
{
  public string SomeProperty
  {
    get { return _SomeProperty; }
    set
        {
          _SomeProperty = value;
          CustomDataGridView dgv = this.DataGridView;  //this one is returning null

        }
   }
}

1 Ответ

0 голосов
/ 20 июня 2019

DataGridView (в WinForms - судя по тегу post) является свойством DataGridViewColumnCollection Class - а не класса DataGridViewColumn Так как вы выводите этот класс из Производный класс DataGridViewColumn, вам нужно будет сделать это свойство перетаскиваемым из коллекции настраиваемых столбцов в каждый из добавляемых в нее настраиваемых столбцов, возможно, вы можете сделать саму коллекцию доступной в каждом добавленном столбце, реализовав настраиваемое свойство Column.Collection, и инициализировать его каждый раз, когда вы добавляете столбец в коллекцию. Затем вы можете использовать внутри своего класса CustomComboBoxColumn что-то похожее на это: CustomDataGridView dgv = this.CustomComboBoxColumnCollection.DataGridView; ,

В качестве альтернативы, рассмотрите возможность делать то, что вы намеревались делать в классе CustomComboBoxColumn в коллекции, которая содержит его. В Коллекции вы можете получить доступ к свойству CustomComboBoxColumnCollection.DataGridView и впоследствии установить необходимые результаты во время добавления новых Столбцов в Коллекцию.

Делайте то, что кажется вам более естественным и требует меньше кодирования :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...