vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Bindungsproblem 
Autor: rub
Datum: 14.11.07 12:02

Hallo,

Ich habe hier ein Steuerelement, welches von der TextBox abgeleitet ist.
Der einzige Unterschied zur Textbox ist, dass hier eine zusätzliche Property implementiert wurde.
Diese Property binde ich an eine Column der Tabelle, welche auf meinem Formular über ein Dataset referenziert ist
Imports System.ComponentModel
Imports System.Drawing.Design
 
Public Class UserControl1
 
    Private iTextTextFeld As String
 
    <Category("CUP"), Description(""), _
    Browsable(True), Bindable(True)> _
    Public Property TextTextFeld() As String
        Get
            Return iTextTextFeld
        End Get
        Set(ByVal value As String)
            iTextTextFeld = value
        End Set
    End Property
Im Formular habe ich diese Funktion implementiert
    Private Sub DataGridView1_RowStateChanged(ByVal sender As Object, ByVal e _
      As System.Windows.Forms.DataGridViewRowStateChangedEventArgs) Handles _
      DataGridView1.RowStateChanged
        Try
            Me.BindingContext(Me.DataSet11, _
              Me.DataSet11.DataTable1.TableName).EndCurrentEdit()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
Diese Funktion wird beim Wechseln des Datensatzes aufgerufen.
Über einen Button Prüfe ich, ob Einträge in der Tabelle verändert wurden
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        Try
            Dim dt_Modified As DataTable = Nothing
            dt_Modified = Me.DataSet11.DataTable1.GetChanges( _
              DataRowState.Modified)
            If Not IsNothing(dt_Modified) Then
                MsgBox("Modified Rows Count =" & _
                  dt_Modified.Rows.Count.ToString)
            Else
                MsgBox("Nothing")
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
So, mit jedem Zeilen-Wechsel-Vorgang, wird der der RowCount von dt_Modified um eins höher, obwohl ja eigentlich nichts verändert wurde. OK, die Get und Set der Property wird natürlich ausgeführt und desshalb wird die jeweilige Zeile wohl auch verändert.
Wenn man jedoch die TextProperty der TextBox bindet, dann bleibt dt_Modified nothing.
Was muss ich denn noch implementieren, damit das so funktioniert, wie bei der Textproperty?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Bindungsproblem803rub14.11.07 12:02
Re: Bindungsproblem429rub14.11.07 13:16

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel