| Forum: VB.NET |
Thema:
Re: Änderungen in einem DataGrid |
Von:
Till Groos (
27.11.2003 09:38) |
Hallo Bernd,
willst du das immer machen, ohne rückfrage?
Dann würde ich es so machen:
Dataadapter.Fill(DataSet)
DataGrid.DataSource = DataSet.Tables("Die Tabelle")
und dann im CellChanged-Event
DataSet.AcceptChanges();
DataAdapter.Update(DataSet)
Dafür muss dein DataAdapter natürlich über Insert, Delete und Updatecommand verfügen.
Das GetChanges immer nothing liefert, kann ich kaum glauben. Ich würde auch vor dem Update mit GetChanges eine DataTable füllen und nachschauen, ob überhaupt was geändert worden ist. Also vielleicht so:
Private Sub DataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged
Dim tab As New Data.DataTable
Try
tab = Me.ds.Tables(0).GetChanges()
If Not tab Is Nothing Then
Me.SqlDataAdapter1.Update(Me.ds)
MessageBox.Show("Datenbank up-to-date")
End If
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub
hth
mfgTill
| Betreff |
Von |
Datum |
|
|
  |
Re: Änderungen in einem DataGrid
| Super.<br>Das klappt sehr gut. Ich habe nur noch ein Problem mit dem UpdateCommand.<br><br>Private Sub DataGridRiddle_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles... |
 |
 |
 |
|
|
G.
Guest
|
27.11.2003 10:21 |
|
|
  |
Re: Änderungen in einem DataGrid
| Hi Bernd,<br><br>UpdComm = daRiddle.UpdateCommand(strUpdCom)<br>kann so nicht funktionieren. UpdateCommand ist ein Property des DataAdapters. Du könntest sagen:<br>daRiddle.UpdateCommand = UpdComm<br><br>Wenn du... |
 |
 |
 |
|
|
Till
Groos
|
27.11.2003 11:17 |
|
|
  |
Re: Änderungen in einem DataGrid
| Hi Till,<br>Super.....<br>Jetzt klappt es ..<br>Ich stell mich vielleicht etwas dumm an, aber das sind die ersten Gehversuche mit .Net. Ich steige gerade von VB6 auf .Net um.<br><br>Und so hab ich es... |
 |
 |
 |
|
|
G.
Guest
|
27.11.2003 12:15 |
|
|
  |
Re: Änderungen in einem DataGrid
| Hi Bernd,<br><br>einen Verbesserungsvorschlag habe ich:<br>benutze den Finally-Block, anstatt ein paar mal ConnObj.Close()<br>ConnObj.Dispose()<br><br>Die Vorgängerzelle must du dir von Hand merken. Eine globale... |
 |
 |
 |
|
|
Till
Groos
|
27.11.2003 12:25 |
|
|
  |
Re: Änderungen in einem DataGrid
| Ja das mit lastCell ist mir schon klar, aber bei welchem Event kann ich denn die Zelle Bestimmen?<br>Ich denke vor dem Verlassen dieser. Aber wie heißt das Event dazu. |
 |
 |
 |
|
|
G.
Guest
|
27.11.2003 12:35 |
|
|
  |
Re: Änderungen in einem DataGrid
| Hi Bernd,<br>Im CellChanged-Event. Du merkst dir mit der lastCell-Variable die Vorgängerzelle (anfangs 0/0). Dann kannst du immer als letzt Anweisung im Cellchanged-Event lastCell die... |
 |
 |
 |
|
|
Till
Groos
|
27.11.2003 12:47 |
|
|
  |
Re: Änderungen in einem DataGrid
| Hallo Till,<br>so das Problem ist gelöst.<br>:-)<br>Hätte ich ohne deine Hilfe wohl nicht geschaft.<br>Nochmal Danke.<br><br>Jetzt steht nur noch die Sache mit den Spaltenbreiten und Spalten ausblenden auf dem... |
 |
 |
 |
|
|
G.
Guest
|
27.11.2003 14:49 |
|
|
|
|
Till
Groos
|
27.11.2003 15:30 |
|
|
|
|
G.
Guest
|
27.11.2003 15:54 |
|
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!