2011-04-14 78 views
1

我有一個Datagrid的DataContext分配給DataView。當我嘗試編輯窗體中顯示的數據網格時,在單擊或按Enter鍵後,出現正在編輯的單元格周圍的紅色邊框。 然後我嘗試雙擊另一個單元格,但它不會讓我處於編輯模式。WPF Datagrid編輯將不會允許我更改其他單元格

我試過以下http://www.scottlogic.co.uk/blog/colin/2009/01/wpf-datagrid-committing-changes-cell-by-cell/http://codefluff.blogspot.com/2010/05/commiting-bound-cell-changes.html,但都沒有出現在我的案件上。

我對CellEditEnding事件

private void dgCompList_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e) 
    { 
     if (!isManualEditCommit) 
     { 
      isManualEditCommit = true;     
      System.Windows.Controls.DataGrid grid = (System.Windows.Controls.DataGrid)sender; 
      grid.CommitEdit(DataGridEditingUnit.Row, true); 
      isManualEditCommit = false; 
     } 
    } 

代碼我也用實際數據網格本身,而是虛無縹緲commitEdit的()嘗試。有人可以向我解釋發生了什麼事以及如何解決這個問題嗎?

+1

編輯聽起來像一個錯誤處理/驗證問題後,它周圍的閱讀邊框 – 2011-04-14 14:47:53

+0

@ Muad'Dib哦,我的上帝,非常感謝你!這確實是一個驗證問題(我將一個字符串傳入一個int類型的列)。我真的希望它拋出一個錯誤,而不是有一些紅色的邊框! – MHTri 2011-04-14 15:01:50

回答

1

通常情況下,單元格周圍的紅色邊框是錯誤狀態,所以它聽起來像您有某種類型的驗證錯誤,對我來說。

+0

感謝您的回答。你會知道如何在通過編輯之前檢查數據表/數據視圖中列的數據類型嗎? – MHTri 2011-04-15 08:56:28

+0

我相信有一個事件可以觸發,但我並不確定如何做到這一點 – 2011-04-15 14:08:40

相關問題