2010-06-04 58 views
2

En ajoutant simplement un datagridview dans IronPython Studio, il déclenche un objet" DataGridView " qui n'a pas d'attribut' BeginInit '". Y a-t-il une solution pour cela?Ajout d'un DataGridView dans IronPython Studio Winforms obtient un objet '' DataGridView 'n'a aucun attribut' BeginInit '"

Les erreurs ont disparu si les lignes self._DataGridView1.BeginInit() et self._DataGridView1.EndInit() sont supprimés, mais ce n'est pas ce qu'il faut faire pour résoudre ce problème

Répondre

2

pour cela, il n'y a pas de solution et Il est probable qu'il n'y en aura pas car IronPython Studio n'est plus supporté. DataGridView.BeginInit est implémenté explicitement et IronPython Studio est basé sur IronPython 1.1. Vous pourriez être en mesure de contourner le problème en changeant cela à "ISupportInitialize.BeginInit (self._DataGridView1)" après l'importation de ISupportInitialize mais je doute qu'il survit à un déclenchement par le concepteur. Si vous souhaitez résoudre ce problème vous-même, la source d'IronPython Studio est disponible et vous pouvez essayer de modifier le code du concepteur winforms pour qu'il remarque l'appel d'implémentation d'interface explicite et qu'il émette ce code à la place. Cela ne fait probablement que réparer le générateur CodeDom d'IronPython.

Mais je vous conseille vraiment de passer à IronPython Tools et WPF. Générer du code pour le concepteur WinForms ne fonctionne pas très bien avec IronPython et WPF est beaucoup plus approprié. Un autre plan serait de générer le WinForm avec le concepteur en C# et de le sous-classer à partir de Python.