我與數據綁定在WPF保持同步數據網格與MySQL數據庫
我有這樣的DataGrid綁定到一個MySQL的看法,這會是隻讀的嘗試,但我想自動喜歡它在對數據庫進行更改時刷新。
在google上找不到任何有用的東西,我不知道從哪裏開始。
這是dataprovider類。
class ConDataProvider
{
private MySqlDataAdapter adapter;
private Data data;
private DataTable table;
public ConDataProvider(string query)
{
data = new Data();
table = new DataTable("con_FullGrid");
adapter = data.getAdapter(query);
adapter.Fill(table);
}
public DataView GetDView()
{
dv = new DataView();
dv.Table = table;
return dv;
}
}
而XAML的窗口
<Window x:Class="HelioWPF_Alpha01.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:local="clr-namespace:HelioWPF_Alpha01"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="676" Width="924" MinHeight="300" MinWidth="463" Background="{x:Null}">
<Window.Resources>
<ObjectDataProvider x:Key="ConDataProvider" ObjectType="{x:Type local:ConDataProvider}">
<ObjectDataProvider.ConstructorParameters>
<sys:String>SELECT * FROM con_FullGrid</sys:String>
</ObjectDataProvider.ConstructorParameters>
</ObjectDataProvider>
<ObjectDataProvider x:Key="btable" ObjectInstance="{StaticResource ConDataProvider}"
MethodName="GetDView"/>
</Window.Resources>
<Grid Name="mainGrid" DataContext="{Binding Source={StaticResource btable}" KeyDown="mainGrid_KeyDown" FlowDirection="LeftToRight" >
<DataGrid AutoGenerateColumns="True" ItemsSource="{Binding}" Name="dataGrid1" FrozenColumnCount="20" RowHeight="25" Grid.ColumnSpan="4" ColumnWidth="*" MouseDoubleClick="dataGrid1_MouseDoubleClick" SelectionMode="Single" Grid.Row="2" Grid.Column="1" TabIndex="1" GotKeyboardFocus="dataGrid1_GotKeyboardFocus">
<DataGrid.AlternatingRowBackground>
<LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
<GradientStop Color="Black" Offset="0" />
<GradientStop Color="#16436DF8" Offset="0" />
</LinearGradientBrush>
</DataGrid.AlternatingRowBackground></DataGrid>
</Grid>
我一直在做的是什麼樣的在後面的代碼重新初始化ConDataProvider類,並重新綁定各種事件的DataGrid中作假的。 但這是一個醜陋的黑客。
我不介意重新設計整個事情,如果我必須。
數據類只包含連接字符串和一些方法來與數據庫進行交互。 你可以在這裏看到:提前http://pastebin.com/m9HLfwEQ
感謝。
希望得到一些好的提示。
不知道有關MySQL,但微軟SQL具有服務代理具有通知服務.. – 2011-03-13 16:23:18