Добавление DataGridView в IronPython Studio Winforms получает объект «DataGridView», не имеющий атрибута «BeginInit».

Просто добавляя datagridview в IronPython Studio, он запускает объект «DataGridView», не имеющий атрибута «BeginInit». Это можно как-то исправить?

Ошибки исчезают, если удалить строки self._DataGridView1.BeginInit() и self._DataGridView1.EndInit(), но это не то, что нужно сделать, чтобы исправить это.


person Meli    schedule 04.06.2010    source источник


Ответы (1)


Для этого нет исправления и, скорее всего, его не будет, потому что IronPython Studio больше не поддерживается. DataGridView.BeginInit реализован явно, а IronPython Studio основана на IronPython 1.1. Возможно, вы сможете обойти это, изменив это на «ISupportInitialize.BeginInit(self._DataGridView1)» после импорта ISupportInitialize, но я сомневаюсь, что он выживет через конструктор.

Если вы хотите исправить это самостоятельно, исходный код для IronPython Studio доступен, и вы можете попробовать изменить код конструктора winforms, чтобы заметить явный вызов реализации интерфейса и вместо этого выдать этот код. Вероятно, это просто исправление генератора CodeDom IronPython.

Но на самом деле я бы посоветовал вам перейти на IronPython Tools и WPF. Генерация кода для конструктора WinForms на самом деле не очень хорошо работает с IronPython, а WPF подходит гораздо больше. Альтернативным планом было бы создание WinForm с дизайнером на C# и создание подкласса из Python.

person Dino Viehland    schedule 05.06.2010