這裏非常奇怪的情況:我使用L2S來填充DataGridView。
代碼如下:無法將DataGridView刷新到Linq to SQL(WinForm)
private void RefreshUserGrid()
{
var UserQuery = from userRecord in this.DataContext.tblUsers
orderby userRecord.DisplayName
select userRecord;
UsersGridView.DataSource = UserQuery;
//I have also tried
//this.UserBindingSource.DataSource = UserQuery;
//UsersGridView.Datasource = UserBindingSource;
UsersGridView.Columns[0].Visible = false;
}
每當我使用L2S從數據庫中添加/刪除記錄時,GridView刷新得很好。
但是,如果有人正在編輯網格並犯了一個錯誤,我希望他們能夠點擊刷新按鈕並通過從數據源重新加載來擦除錯誤。
對於我的生活,我無法得到它的工作。
我目前使用我的刷新按鈕的代碼是這樣的:
private void button1_Click(object sender, EventArgs e)
{
this.DataContext.Refresh(RefreshMode.OverwriteCurrentValues);
RefreshUserGrid();
}
但該死的GridView不受影響。發生的一切就是選定的行變爲未選中狀態。
我試過.Refresh()
,.Invalidate()
,我試着將數據源更改爲NULL,然後再次返回(所有來自類似帖子的建議)......沒有任何作用。網格刷新的唯一時間是如果我重新啓動應用程序。
我一定錯過了一些基本的東西,但我完全被難住了,我的同事也是如此。
任何想法?
謝謝!
嗯,我也已經嘗試此(在上面的代碼註釋掉),但我可能沒有這樣做的正確方法。我會再給它繼續這個教程,謝謝! – GringoFrenzy 2009-12-15 10:01:57