2009-02-06 12 views
9

Otrzymuję DataTable od DataSet, a następnie wiążę tę DataTable do DataGridView. Kiedy użytkownik edytuje informacje w DataGridView, w jaki sposób mogę wprowadzić te zmiany i umieścić je ponownie w DataTable, który został użyty, a następnie mogę ponownie umieścić w moim DataSet?C# Problem: Jak zapisywać zmiany wprowadzone w DataGridView do używanej DataTable?

Chcę, aby przycisk Zapisz na mojej DataGrid, który po naciśnięciu faktycznie zapisuje zmiany.

Nie, jeśli nie mogę uzyskać więcej szczegółowych informacji, ponieważ jest to dość proste pytanie.

Z góry dziękuję!

Daj mi znać, jeśli potrzebujesz więcej informacji.

Odpowiedz

6

Jeśli używasz wiązania danych do DataGridView, to jesteś już aktualizowanie DataTable/DataSet. Jeśli chodzi o zmiany w bazie danych, to tu właśnie wchodzą karty.

Oto przykład:

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); 
     } 

    } 
} 
+0

Mój Boże, wiesz o czym mówisz! Czy możesz spojrzeć na moje inne pytanie i pomóc mi, wydaje się, że możesz być moją jedyną nadzieją! http://stackoverflow.com/questions/518239/c-issue-what-is-the-simplest-way-for-me-to-load-a-mdb-file-make-changes-to-it. Dzięki! Zobaczę, czy to działa dla mnie. – OneShot

+0

To jednak odpowiedziało na moje pytanie. To, co DataTable powiązałem z DataGrid, już się zmienia. Teraz gdybym tylko mógł wymyślić, jak umieścić tę DataTable z powrotem w pliku .MDB Access. :/ Dzięki! – OneShot

+0

Cóż, przyjrzę się, ale zastrzeżenie: wiem "nie dużo" o mdb lub użyciu DataSet w gniewie. –

Powiązane problemy