2011-05-23 48 views
2

是WPF中的新手,更多的是WPF Datagrid舞臺。我很習慣和表哥一起工作 - 來自Windows Forms的DatagridView,但這是我第一次使用WPF的Datagrid Control,並且非常辛苦!如何使用WPF的DataGrid查看,編輯和更新數據庫表?

我已經使用Vidual Studio 2010中的內置數據源嚮導創建了一個數據集。創建此數據集後,我使用了另一個內置功能,該功能允許我自動生成預先綁定到此數據網格的數據網格數據集中的表格,所以我可以將它放到窗口上。

現在,所有這些都做得很好,直到我需要讓用戶編輯數據網格的內容,並通過回調,將新的/更新的數據提交給底層表數據庫。

我已經試過四處搜尋,但大多數文章都過時了,有些不會以對我這樣的新手有意義的方式來解決問題。

一位消息人士說:

的DataGrid檢查 IEditableCollectionView的CanAddNew, CanCancelEdit和CanRemove執行 EditItem,的CancelEdit或 commitEdit的方法之前 屬性。所以如果編輯看起來不是 工作出於某種原因,一定要檢查 ,它可以編輯。

an MSDN source,但是的Visual Studio 11的自動生成功能使我這個爲數據綁定源

<Window.Resources> 
    <my:crimexDataSet x:Key="crimexDataSet" /> 
    <CollectionViewSource x:Key="datapoolViewSource" Source="{Binding Path=datapool, Source={StaticResource crimexDataSet}}" /> 
</Window.Resources> 

那麼,如何從這個移動到IEditableCollectionView樣的數據源,所以我可以啓用編輯功能?在此先感謝...

回答

1

如果這不是一個短生命週期的應用程序,我會省下很多痛苦,並瞭解MVVM(Model-View-ViewModel)模式。這是WPF和Silverlight世界中非常常見的模式。

基本上,您將創建一個專門設計爲網格的數據源的類,並且您可能需要在窗口中使用其他數據。

對於這種特殊需求,您可能會使用ObservableCollection作爲綁定到網格的屬性的類型。

在StackOverflow上有很多關於MVVM的信息,可以在Google和書中找到。如果你喜歡這種模式,它確實可以讓UI開發體驗減少很多痛苦。

相關問題