[VB] Nhibernate und DataGridViewComboBox

ronaldo84

Erfahrenes Mitglied
Hallo Gemeinde,

folgendes Problem:
Ich lade meine Datenbank mittels Nhibernate. Nun habe ich in diversen Tabellen 1:N-Beziehungen. ZB. Ein Lehrer hat ein Fach (ich weiß ist in der Realität nicht wirklich so). Nun habe ich ein DataGridView das alle Lehrer darstellt und in einer Combobox soll man das Fach auswählen können.
Die DataSource der Combobox ist eine List(of Fach).
Visual Basic:
    Dim FDAO As New AFachDAO
    Dim lifa As New List(Of A_Fach)
    lifa = CType(FDAO.GetAll(), List(Of A_Fach))
    dgvLehrer.AutoGenerateColumns = False
    dgvLehrer.DataSource = lehrer.GetAll()
    CType(dgvLehrer.Columns("AFach"), DataGridViewComboBoxColumn).DataSource = lifa
    CType(dgvLehrer.Columns("AFach"), DataGridViewComboBoxColumn).DisplayMember = "Fach"
    CType(dgvLehrer.Columns("AFach"), DataGridViewComboBoxColumn).ValueMember = "AFach"

So sieht mein Lehrer aus (gekürzt):
Visual Basic:
 Public Class Lehrer

    Private __Name As String
    Private __Fach As A_Fach

    Public Overridable Property Name() As String
      Get
        Return __Name
      End Get
      Set(ByVal value As String)
        __Name = value
      End Set
    End Property

    Public Overridable Property AFach() As A_Fach
      Get
        Return __Fach
      End Get
      Set(ByVal value As A_Fach)
        __Fach = value
      End Set
    End Property

  End Class

und mein Fach:

Visual Basic:
  Public Class A_Fach

    Private __FachID As Integer
    Private __Fach As String

    Public Overridable Property AFach() As A_Fach
      Get
        Return Me
      End Get
      Set(ByVal value As A_Fach)
      End Set
    End Property

    Public Overridable Property FachID() As Integer
      Get
        Return __FachID
      End Get
      Set(ByVal value As Integer)
        __FachID = value
      End Set
    End Property

    Public Overridable Property Fach() As String
      Get
        Return __Fach
      End Get
      Set(ByVal value As String)
        __Fach = value
      End Set
    End Property
  End Class
Die Combobox wird korrekt gefüllt, ich kann die Daten auch zuweisen. Wenn ich aber speichere und die Daten neu Lade wirft mir das DataGridView einen DataError aus mit einer ArgumentException und der Meldung "Der DataGridViewComboBoxCell-Wert ist ungültig."
Ich weiß beim besten Willen nicht warum.

Kann mir jemand helfen?

Vielen Dank
 
Zurück