[WPF C#] Datagrid nie aktualizuje bazy przy zmianach w code-behind


(rafalski) #1

Witam!
Męczę się z następującym problemem. Kontrolkę DataGrid mam spiętą z lokalną bazą danych poprzez adapter. Tabelka prawidłowo wyświetla dane z bazy. W przypadku zmian aktualizuje bazę korzystając z adaptera. Jednak gdy wprowadzam zmiany w DataGrid poprzez code-behing, to wygląda na to, że nie są przekazywane do adaptera. Przykład kodu:

 public partial class Dzwiek_uc : UserControl
{
    DB_HBDataSetTableAdapters.DzwiekTableAdapter adapter = new DB_HBDataSetTableAdapters.DzwiekTableAdapter();
    DB_HBDataSet.DzwiekDataTable table = new DB_HBDataSet.DzwiekDataTable();

    public Dzwiek_uc()
    {
        InitializeComponent();
        time();

        adapter.Fill(table);
        Dzwiek_dg.ItemsSource = table.DefaultView;
        Dzwiek_dg.Items.Refresh();
    }

    private void time()
    {
        var timeList = new List<string>();
        timeList.Add("0:00:05");
        timeList.Add("0:00:10");
        timeList.Add("0:00:15");
        timeList.Add("0:00:20");
        timeList.Add("0:00:25");
        timeList.Add("0:00:30");
        timeList.Add("0:00:35");
        timeList.Add("0:00:40");
        timeList.Add("0:00:45");
        timeList.Add("0:00:50");
        timeList.Add("0:00:55");
        timeList.Add("0:01:00");
        Czas.ItemsSource = timeList;
    }}
XAML: <DataGridComboBoxColumn x:Name="Czas" Header="Czas" SelectedValueBinding="{Binding Czas}"/>

W tym wypadku komórka prawidłowo wyświetla dane w ComboBox, ale po wybraniu wartości nie zapisuje jej w bazie danych.