|
| |

ADO.NET / Datenbanken| Re: Datenbindung mit RichTextBox | |  | | Autor: spatzimatzi | | Datum: 23.11.12 15:31 |
| Hallo,
leider ist mein Problem mit dem Rtf-Format noch nicht beseitigt.
Ich habe mir die Mühe gemacht und den jeweiligen Zustand im DatRow ermittelt.
Auch habe ich am DataBinding gearbeitet. Leider ohne Erfolg
Eingetragen in das Feld wurde bei Neuanlage der Wert : ABC (Ohne jegliche Formatierung)
Dieser wird auch bei jedem Neuaufruf angezeigt.
In der Datenbank steht wie unten zu sehen das Rtf-Format
Meine Bindung:
Me.rtbNotiz.DataBindings.Add("Rtf", bsNotizenSng,"Notiz",True,DataSourceUpdateMode.OnPropertyChanged)
Auch der Mode: OnValidation hat keine Verbesserung gebracht. Mode: Never gibt keine Veränderung weiter.
Folgende Schritte laufen im Versuch ab:
- Anzeige des Datensatzes. Keine Datenanpassung
- Drücken OK-Button
- Ausführen "BindingSource.EndEdit()"
- Anschließend Abfrage auf "DataSet.HasChanges()"
- When True, dann MessageBox mit Meldung "Es liegen Datenänderungen vor. Änderungen speichern" Ja/Nein
Folgende Informationen habe ich dem DataRow entnehmen können über die Felder:
row("Notiz", DataRowVersion.Current)
row("Notiz", DataRowVersion.Original)
row.RowState.ToString
Hinweis:
Die spitzen Klammern habe ich nur gesetzt, damit man Anfang und Ende erkennt
Hinter RowState steht die Information aus row.RowState
Hinter Gleich steht ein manueller Vergleich ...Current = ...Original
Vor EndEdit()
Current
>{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0 Tahoma;}}
\viewkind4\uc1\pard\f0\fs18 ABC\par
}
<
Original
>{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0 Tahoma;}}
\viewkind4\uc1\pard\f0\fs18 ABC\par
}
<
RowState Unchanged
Gleich True
-------------------------------------------------------------
Nach EndEdit
Current
>{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0 Tahoma;}}
\viewkind4\uc1\pard\f0\fs18 ABC\par
}
<
Original
>{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0 Tahoma;}}
\viewkind4\uc1\pard\f0\fs18 ABC\par
}
<
RowState Modified
Gleich True
Wie man sieht, wird nach EndEdit() vom System eine Veränderung gemeldet, während der manuelle Vergleich True ergibt. Das die Werte gleich sind, kann man auch visuell überprüfen.
Könnt ihr das nachvollziehen?
Bei dieser Konstellation ist doch die Abfrage auf Änderung eine Irreführung der Anwender.
Aber genau die Abfrage wünscht sich mein Chef. Ist ja auch eine feine Sache. Funktioniert ansonsten auch einwandfrei.
Kann und muss man evtl. noch was an der Bindung verändern?
Welche Möglichkeit hätte ich sonst noch?
Mit TextChanged habe ich auch schon herumgespielt. Hier gibt es jedoch ein weiteres Problem
Die Ereignisse greifen auch beim Initialisieren. Dies könnte man umgehen, doch die Initialisierung findet erst statt, wenn das Feld sichtbar ist. Und liegt dieses auf einer TabPage, so erfolgt die Initialisierung erst, wenn man den richtigen Reiter anklickt.
Es ist zum Mäuse melken.
Oder stelle ich mich besonders ungeschickt an.
Viel geschrieben. Bitte verzeiht. Aber ich brauche unbedingt eure Hilfe
Gruß
spatzimatzi |  |
 | 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 |
  |
|
Neu! sevCoolbar 3.0 
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
| |
|
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
|
|