Привязка данных Winforms DataGridView к составному типу / вложенное свойство

На самом деле это происходит, когда вы не импортируете со ссылкой. Это известные проблемы, которые уже исправлены, возможно, еще не приземлились. Вы можете проверить проблему здесь .

Пожалуйста, попробуйте import package_name/globals.dart вместо просто import globals.dart, если вы делаете это.

Надеюсь, это поможет!

13
задан beatgammit 7 December 2013 в 09:16
поделиться

3 ответа

Закон Demeter.

Создайте свойство на MyClass, который подвергает SubClass. Свойство. Как так:

public class MyClass
{
   private SubClass _mySubClass;

   public MyClass(SubClass subClass)
   {
      _mySubClass = subClass;
   }

   public PropertyType Property
   {
      get { return _subClass.Property;}
   }   
}
12
ответ дан 1 December 2019 в 22:40
поделиться

Вы не можете связать DataGridView с вложенными свойствами. Это не позволяется.

Одно решение состоит в том, чтобы использовать этот ObjectBindingSource в качестве Источника данных.

3
ответ дан 1 December 2019 в 22:40
поделиться

Вы можете добавить обработчик к событию DataBindingComplete и заполнять вложенные типы там. Что-то вроде этого:

в form_load:

dataGridView.DataBindingComplete += new DataGridViewBindingCompleteEventHandler(dataGridView_DataBindingComplete);

далее в коде:

void dataGridView_DataBindingComplete(object sender,
        DataGridViewBindingCompleteEventArgs e)
{
    foreach (DataGridViewRow row in dataGridView.Rows)
    {
        string consumerName = null;
        consumerName = ((Operations.Anomaly)row.DataBoundItem).Consumer.Name;
        row.Cells["Name"].Value = consumerName;
    }
}

Это некрасиво, но работает.

4
ответ дан 1 December 2019 в 22:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: