1
我有一個問題,並相信一些簡單的事情,只是無法控制它。我的窗口的數據上下文有一個View模型。在它上面我有一個從數據庫查詢中填充的私有「DataTable」。沒問題。我有一個公共的DataView屬性{get; set;},它返回DataTable.DefaultView。我將表單上的DataGrid綁定到視圖模型上的DataView屬性的路徑並運行表單。沒問題,出現,列顯示正確,點擊行,沒問題。datagrid頭排序錯誤綁定到dataview
現在,問題所在。點擊標題,我認爲自動處理數據排序,它出現了一個錯誤,
'MyTable' type does not have property named '[MyColumn]', so cannot sort data collection.
這裏的混淆部分。綁定到源自MyTable.DefaultView的VIEW(MyTableView),並且它具有列「MyColumn」,因爲它正確顯示在網格中。我錯過了什麼。
只是爲了澄清,這裏的一些從視圖模型
XAML
<DataGrid AutoGenerateColumns="False"
Name="dataMyData"
ItemsSource="{Binding Path=MyTableView, NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True}"
SelectedItem="{Binding Path=MyCurrentViewRecord, Mode=TwoWay}" >
<DataGrid.Columns>
<DataGridTextColumn Header="#" Binding="{Binding Path=[MyRecord], NotifyOnSourceUpdated=True}" />
<DataGridTextColumn Header="MyColumn" Binding="{Binding Path=[MyColumn],NotifyOnSourceUpdated=True}"/>
</DataGrid.Columns>
</DataGrid>
C#
PRIVATE DataTable MyTable;
public DataView MyTableView
{
get { return MyTable.DefaultView; }
}
哦,這讓我很頭疼! – anakic