Guten Tag zusammen,
ich habe drei TextBoxen die an eine DataTable gebunden sind, genau genommen möchte ich sie exakt an die DataRow mit der der richtigen ID binden.
In meinem Testprogramm klappt es auch das die Daten angezeigt und auch aktualisiert werden wenn ich die Daten im zugehörigen DataGridView manipuliere.
Wenn ich Daten direkt in der DataTable ändere (Button) werden die Inhalte der TextBoxen eins und zwei aber nicht aktualisiert. Woran liegt das?
Ich glaube hier liegt mein Problem aber wie macht man es richtig?
Vielen Dank
Hier ist was ich hab:
ich habe drei TextBoxen die an eine DataTable gebunden sind, genau genommen möchte ich sie exakt an die DataRow mit der der richtigen ID binden.
In meinem Testprogramm klappt es auch das die Daten angezeigt und auch aktualisiert werden wenn ich die Daten im zugehörigen DataGridView manipuliere.
Wenn ich Daten direkt in der DataTable ändere (Button) werden die Inhalte der TextBoxen eins und zwei aber nicht aktualisiert. Woran liegt das?
Ich glaube hier liegt mein Problem aber wie macht man es richtig?
Vielen Dank
Hier ist was ich hab:
VB.NET-Quellcode
- Public Class Form1
- Dim WithEvents dTable As DataTable
- Dim bS As BindingSource
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Setup()
- End Sub
- Private Sub Setup()
- dTable = New DataTable
- dTable.TableName = "Names"
- dTable.Columns.Add("id", GetType(Integer))
- dTable.Columns.Add("name", GetType(String))
- dTable.Columns("id").AutoIncrement = True
- DataGridView1.DataSource = dTable
- Dim row1 As DataRow = dTable.NewRow()
- row1.Item("name") = "Peter"
- Dim row2 As DataRow = dTable.NewRow()
- row2.Item("name") = "Paula"
- dTable.Rows.Add(row1)
- dTable.Rows.Add(row2)
- bS = New BindingSource
- bS.DataSource = dTable
- Dim source1 = bS.Item(bS.Find("id", 0))
- Dim source2 = bS.Item(bS.Find("id", 1))
- TextBox1.DataBindings.Add("Text", source1, "name")
- TextBox2.DataBindings.Add("Text", source2, "name")
- TextBox3.DataBindings.Add("Text", bS, "name")
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Dim row1 = dTable.Rows(0).Item("name")
- Dim row2 = dTable.Rows(1).Item("name")
- dTable.Rows(0).Item("name") = row2
- dTable.Rows(1).Item("name") = row1
- End Sub
- Private Sub myTable_RowChanged(ByVal sender As Object, ByVal e As DataRowChangeEventArgs) Handles dTable.RowChanged
- '?
- End Sub
- End Class