У меня есть таблица данных WPF, которая использует StaticResource
из CollectionViewSource
, например, так ...
<Window.Resources>
<CollectionViewSource x:Key="TransmittalsSource" />
...
<DataGrid x:Name="uxTransmittalDataGrid" Grid.Row="2"
ItemsSource="{Binding Source={StaticResource TransmittalsSource}}"
...
В своем коде я использую событие нажатия кнопки, чтобы назначить источникдля TransmittalsSource
вот так ...
var transmittalsQuery = from t in _db.TransmittalsViews
select t; // I've remove the where clauses (filters) for readability.
((CollectionViewSource)Resources["TransmittalsSource"]).Source =
transmittalsQuery;
TransmittalsViews
- это объект View в базе данных SQL Server.Я использовал View, потому что мне нужно сделать некоторые кросс-таблицы, прежде чем представлять данные в сетку.
Теперь в другом окне я добавляю элемент (в основном обновляя один из столбцов представлений) в одну из базовых таблиц.TransmittalsViews
называется Transmittals
.
_db.Transmittals.AddObject(_transmittal);
Теперь, даже если я получу представление таблицы данных по умолчанию и вызову Refresh()
, оно не работает.
Я подумываю получить DefaultView
таблицы данных и использовать методы AddNew, но, видя, что источники разные, я думаю, что это невозможно.
Так как я могу заставитьобновить сетку данных, основанную на объекте View (SQL Server), после обновления другой сущности (таблицы), из которой он был основан?Я знаю, что мое кодирование не является идеальным на данный момент, поэтому я буду признателен за любые комментарии по методам, которые я также использовал.Я только начинаю изучать WPF:)