如果您嘗試從您的SQL CE數據庫進行綁定,請考慮實現使用數據綁定的代碼。這將確保您的數據在您的網格上始終處於「新鮮」狀態。以下是Data Binding in WPF上的一些示例代碼。
SqlConnection con = new SqlConnection();
SqlDataAdapter ad = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
String str = "SELECT EmployeeID, FirstName, LastName, BirthDate, City, Country FROM Employees";
cmd.CommandText = str;
ad.SelectCommand = cmd;
con.ConnectionString = "Data Source=MyData.sdf;Persist Security Info=False";
cmd.Connection = con;
DataSet ds = new DataSet();
ad.Fill(ds);
ListViewEmployeeDetails.DataContext = ds.Tables[0].DefaultView;
con.Close();
....
<Grid x:Name="Grid1">
<ListView Name="ListViewEmployeeDetails" Margin="4,20,40,100" ItemTemplate="{DynamicResource EmployeeTemplate}" ItemsSource="{Binding Path=Table}">
<ListView.View>
<GridView>
<GridViewColumn Header="Employee ID" DisplayMemberBinding="{Binding Path=EmployeeID}"/>
<GridViewColumn Header="First Name" DisplayMemberBinding="{Binding Path=FirstName}"/>
<GridViewColumn Header="Last Name" DisplayMemberBinding="{Binding Path=LastName}"/>
<GridViewColumn Header="BirthDate" DisplayMemberBinding="{Binding Path=BirthDate}"/>
<GridViewColumn Header="City" DisplayMemberBinding="{Binding Path=City}"/>
<GridViewColumn Header="Country" DisplayMemberBinding="{Binding Path=Country}"/>
</GridView>
</ListView.View>
</ListView>
</Grid>
聽起來好像你期待看到您的網格「新鮮」的數據在設計時。 「在數據庫瀏覽器中單擊刷新」表明您正在查看的設計表面。
如果不是,那麼圍繞數據庫瀏覽器的語句以及運行時的任何內容都沒有意義。您的網格應重新填充/數據綁定在有意義的事件上(表單加載,用戶單擊按鈕,用戶插入一行)。用戶不/不應該知道數據庫瀏覽器。讓網格顯示最新數據的正確方法是myGrid.DataBind();
如果是這樣,我可以建議它不應該/無關緊要,因爲網格上顯示的數據僅僅是一個'佔位符」。如果你確實想要看到新鮮的數據,那麼你唯一的選擇是你的建議:'刷新'通過數據庫瀏覽器。
這很不清楚你看到或期待什麼。建議使用您的代碼編輯您的問題,以及一些截圖來說明。
你所要求的沒有多大意義。要刷新應用中的數據,請重新查詢數據庫。要在數據庫瀏覽器中刷新,請單擊刷新。你的意思是你在數據庫資源管理器中插入數據,但它沒有提交,直到你點擊刷新那裏? – 2011-06-14 15:13:28
@Kieren我通過一些SQL代碼插入數據,並沒有顯示在我的dataGrid中。只有在數據庫瀏覽器中按「刷新」並再次調試纔會顯示數據。 – 2011-06-14 15:15:58
您是否打算在'設計時'進行此更新? – 2011-06-14 15:16:25