Announcement

Collapse
No announcement yet.

DataSet.HasChanges - wie update von zwei Tabellen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DataSet.HasChanges - wie update von zwei Tabellen?

    Hallo Kollegen,
    ich stehe wie ein Ochs’ vor’m Berg und benötige eure Hilfe:

    In meiner VB.net (Studio 2008 - vgl. Bild) Anwendung habe ich ein Dataset mit zwei Tabellen. In der ersten Tabelle (CoilList) werden Werte berichtigt. Drückt der use dann den save-Butten, dann sollen die geänderten Zeilen auch in der zweiten Tabelle (Reports) upgated werden >>> aber auf dem Server <<< denn die zweite Tabelle (Reports) muss nicht zwingend offen sein. Anschließend müßte ich dann noch die - wenn doch offen - die Anzeige der zweiten Tabelle (Reports) refreshen.

    ab hier verließen mich die Ideen:

    1. Ich kriege zwar rauß, daß etwas geändert wurde, aber nicht was - und schon gar nicht die key-cell MetaInspectionID? HILFE!
    2. Im Bild erkennt man, das nur die ersten Spalten der Tabellen übereinstimmen und der gelbe Bereich sich unterscheidet. Wie kann ich die ersten modifizierten Zellen auf dem Server updaten, denn die zweite Tabelle (Reports) muss nicht zwingend offen sein?
    3. Wenn diese doch offen ist, wie kann ich die Anzeige der zweiten Tabelle (Reports) refreshen?


    Private Sub CoilListBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles CoilListBindingNavigatorSaveItem.Click
    If Me.PI_SystemDataSet.HasChanges(DataRowState.Modifi ed) Then
    MsgBox("Änderungen!")
    ' New rows have been added to the dataset, add appropriate code.
    ' es sollen die ersten 10 Zellen der mit dem key MetaInspectionID entsprechenden Zeile von
    ' PI_SystemDataSetTableAdapters.ReportsTableAdapter geändert werden:
    '
    Else
    ' No new rows have been added to the dataset, add appropriate code.
    End If

    Me.Validate()
    Me.CoilListBindingSource.EndEdit()
    Me.TableAdapterManager.UpdateAll(Me.PI_SystemDataS et)
    End Sub

    Vielen Dank für eure Anregungen.
    Attached Files

  • #2
    Hi,

    der letzte Teil deiner Frage sollte etwa in die Richtung gehen, wobei ich jetzt davon ausgeh, dass es nur um geänderte DS geht, nicht um angefügte oder delete, sonst musst du es entsprechend erweitern.
    Wenn es nur die ersten 10 sein sollen kann man diesen Code sicher leicht erweitern(aus der dt timestamp oder was immer)
    Dim drvs As DataViewRowState = DataViewRowState.ModifiedCurrent

    For Each row As DataRow In dt.Select("", "", drvs)
    Select Case row.RowState
    Case DataRowState.Modified

    End Select

    der erste Teil der Frage ist etwaqs konfus.".. Tabelle.. Reports...muss nicht offen sein", Ich nehm das mal so auf, als ginge es um open close für Connection, auch um zu zeigen wie ich das lese, vielleicht schreibst du es dann nochmal anders.

    gruss Eric

    Comment


    • #3
      Wir wollen hoffen, dass er nach einem 3/4 Jahr eine Lösung gefunden hat....
      Christian

      Comment


      • #4
        @christian,
        auf jeden fall, ich kann mir auch nichts schlimmeres vortsellen, als die timeline zu übersehen

        Comment

        Working...
        X