|
| |

ADO.NET / Datenbanken| Re: Row Remove bei Dataset table | |  | Autor: DaveS (Moderator) | | Datum: 24.07.05 10:55 |
| >>Andere Foren bieten in userem Beispiel oft ganz andere Erklärungen für den zu verwendenden Code an. <<
Aber hier hörst du die Wahrheit (Es gibt aber oft mehrere Methoden ein bestimmtes Ziel zu erreichen. Wichtig ist es aber die Prinzipien zu verstehen).
Ja, das ist schon am Anfang etwas verwirrend. Ado.Net ist aber ziemlich logisch aufgebaut. Aber es geht hier nicht nur um Ado.Net, sondern auch um Windows Forms DataBinding. Die zwei arbeiten natürlich sehr eng zusammen, aber sind nicht das Gleiche. Asp.Net Controls benutzen eine etwas andere Architektur für DataBinding z.B., aber die gleichen Ado.Net Objekte. Ausserdem kannst du Windows Forms DataBinding auch mit anderen Objekten benutzen, nicht nur mit Ado.Net Komponenten. Du kannst z.B. ein Array mit einer ListBox verbinden, oder ein Array von Objekten mit Properties mit einem DataGrid verbinden.
Die Hauptkomponenten von ADO.Net sind DataSet, DataTable und DataView. Dazu kommen die Provider wie OleDb, die Daten aus DBs (oder eventuell anderen Quellen) lesen und schreiben können. Aber eine DataTable kannst du auch aus anderen Quellen befüllen (wie einer Xml Datei, z.B.) oder auch direkt mit Code.
Ein DataSet ist eine Sammlung von DataTables, und kann auch Relations zwischen DataTables bilden.
Eine DataTable ist die eigentlichen Daten, und besteht aus DataRows. DataRows haben die Felder/Spalten mit Werten drin. Die Felder sind mit der datatable.Columns Collection definiert.
Ein DataView ist eine Ansicht der Daten in einer DataTable. Mit DataView kannst du die Daten sortieren und filtern. Mehrere DataViews können gleichzeitig mit einer DataTable benutzt werden. Ein DataView besteht aus DataRowViews, wobei ein DataRowView einer bestimmten DataRow in der DataTable.Rows Collection entspricht. Mit DataRowView.Row hast du die eigentliche DataRow.
Nur DataView kann an DataBinding teilnehmen, DataSet und DataTable sind nicht (direkt) DataBinding fähig. Wenn du eine DataTable als DataSource setzst wird automatisch deswegen ein DataView angelegt. Du kannst selber ein DataView anlegen mit etwa
Dim dv As New DataView(myDataTable)
oder mit
Dim dv As DataView = myDataTable.DefaultView
Dann kannst du dein DataView als DataSource verwenden.
Zwei Hauptkomponenten von Windows Forms DataBinding sind CurrencyManager und BindingContext. CurrencyManager ist der "Cursor", und definiert welche Zeile in einem DataView (oder anderer Datenquelle wie einem Array) aktuell ist. Mit DataGrid hast du zwar etwa .CurrentRowIndex, aber du kannst auch z.B. mit einfachen TextBoxen verbinden. Der CurrencyManager steuert dann den aktuellen Satz.
BindingContext ist die "Steuerzentrale" für DataBinding. Jede Form hat einen BindingContext, und alle Controls benutzen den gleichen. Deshalb wenn du z.B. mehrere TextBoxen mit DataBinding an einer DataTable bindest, benutzen alle das gleiche DataView und haben die gleiche Position.
________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist |  |
 | 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 |
  |
|
sevZIP40 Pro DLL 
Zippen und Unzippen wie die Profis!
Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. 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
|
|