C-Problem: Wie speichere ich in einer DataGridView vorgenommene Änderungen zurück in der verwendeten DataTable?

Ich erhalte eine DataTable aus einem DataSet und binde diese DataTable dann an eine DataGridView. Nachdem der Benutzer die Informationen in DataGridView geändert hat, wie nehme ich diese Änderungen auf und lege sie wieder in eine DataTable, die verwendet wurde und die ich dann wieder in mein DataSet einstecken kann?

Ich möchte einen Save Button auf meinem DataGrid machen, der, wenn er gedrückt wird, die Änderungen tatsächlich speichert.

Ich weiß nicht, ob ich mehr spezifisch als das, weil es eine ziemlich einfache Frage ist.

Vielen Dank im Voraus!

Lassen Sie mich wissen, wenn Sie mich brauchen, um mehr zu erarbeiten.

Antwort auf "C-Problem: Wie speichere ich in einer DataGridView vorgenommene Änderungen zurück in der verwendeten DataTable? " 2 von antworten

Wenn Sie Datenbindung an ein DataGridView, then you are verwenden, dann sind Sie bereits und aktualisieren die DataTable / / DataSet. If you mean changes down to the database, then that is where adapters come into play. . Wenn Sie Änderungen in der Datenbank meinen, dann kommen Adapter ins Spiel.

Hier ist ein Beispiel:

using System;
using System.Data;
using System.Linq;
using System.Windows.Forms;
static class Program
{
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();

        DataSet set = new DataSet();
        DataTable table = set.Tables.Add("MyTable");
        table.Columns.Add("Foo", typeof(int));
        table.Columns.Add("Bar", typeof(string));

        Button btn;
        using (Form form = new Form
        {
            Text = "DataGridView binding sample",
            Controls =
            {
                new DataGridView {
                    Dock = DockStyle.Fill,
                    DataMember = "MyTable",
                    DataSource = set
                },
                (btn = new Button {
                    Dock = DockStyle.Bottom,
                    Text = "Total"
                })
            }
        })
        {
            btn.Click += delegate
            {
                form.Text = table.AsEnumerable().Sum(
                    row => row.Field<int>("Foo")).ToString();
            };
            Application.Run(form);
        }

    }
}
http://www.codeproject.com/KB/database/relationaladonet.aspx

für ein ziemlich einfaches Beispiel, das meiner Meinung nach das abdeckt, was Sie brauchen.

wie erwähnt DataAdapters sind eine der einfachen Möglichkeiten.

Siehe: