我想在我的WPF表單上放置幾個按鈕,並用每個按鈕的不同數據庫中的數據動態更新我的DataGrid,假設我有3個數據庫和3個按鈕,一個按鈕可以從1個不同的數據庫中獲取數據。更新動態鏈接到DataGrid的數據庫
但是我希望DataGrid上的數據在網格上發生更改時更新回數據庫,因此我不必編寫所有「保存」內容。
眼下,代碼,我是這樣的:
try
{
OleDbConnection conn = new OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0; " +
"Data Source=MaterialDB.mdb");
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM myTable", conn);
myDataSet = new DataSet();
adapter.Fill(myDataSet, "myTable");
var be = CatalogsGrid.GetBindingExpression(DataGrid.ItemsSourceProperty);
CatalogsGrid.DataContext = myDataSet;
CatalogsGrid.ItemsSource = myDataSet.Tables[0].DefaultView;
Binding nbe = new Binding();
nbe.Source = myDataSet;
nbe.Mode = BindingMode.TwoWay;
nbe.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
nbe.Path = new PropertyPath("myTable");
nbe.BindsDirectlyToSource = true;
CatalogsGrid.SetBinding(DataGrid.ItemsSourceProperty, nbe);
CatalogsGrid.Items.Refresh();
}
此代碼從數據庫到電網中加載數據,但我編輯的數據,並沒有更新回的MS Access表。
哦,它仍然沒有編碼,但「myTable」應該是一個字符串,我把我想要顯示和更新網格的不同表的名稱。
我錯過了什麼?
您可以在「雙向」模式下在WPF中進行綁定,在這種情況下,視圖可以更改綁定到的屬性。然後由您將其發送到數據庫。聽起來就像實體框架一樣! – SimoneF