Ошибка сортировки заголовка сетки данных связана с просмотром данных - PullRequest
1 голос
/ 04 ноября 2011

У меня проблема, и я верю во что-то простое, просто не могу справиться с этим. У меня есть модель View для моего контекста данных окна. На нем у меня есть частный «DataTable», который заполняется из запроса к базе данных. Нет проблем. У меня есть публичное свойство DataView {get; set;}, которое возвращает DataTable.DefaultView. Я связываю DataGrid в форме с путем свойства DataView в модели представления и запускаю форму. Нет проблем, подходит, столбцы отображаются правильно, нажимайте на строки, нет проблем.

Теперь проблема. Нажмите на заголовок для того, что я думал, автоматически обрабатывает сортировку данных, и появляется ошибка, которая

'MyTable' type does not have property named '[MyColumn]', so cannot sort data collection.

Запутанная часть здесь. Привязка относится к VIEW (MyTableView), происходящему из MyTable.DefaultView, и он имеет столбец «MyColumn», поскольку он правильно отображается в сетке. Чего мне не хватает?

Просто чтобы уточнить, вот некоторые из xaml и кода из модели представления

1010 * 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; }
}

1 Ответ

2 голосов
/ 04 ноября 2011

На самом деле, нашел его ...

Я должен был явно добавить

SortMemberPath="MyColumn"   (for the column definition of the DataGrid)

Он задыхался в скобках [] в привязке, но если я не включилскобки в привязке, так как это источник столбца для отображения, он не будет отображать данные ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...