У меня возникает проблема с обновлением данных на странице после выполнения обновления через службы WCF RIA.Проблема служб WCF RIA с обновлением
У меня есть ComboBox и кнопка на странице. Пользователь выбирает элемент из ComboBox, а затем нажимает кнопку. Это делает мягкое удаление элемента в базе данных (установка «Active» = false). Однако я бы хотел, чтобы он был удален из ComboBox после завершения обновления. Вот где моя проблема.
InventorySystemDomainContext context = new InventorySystemDomainContext();
private void btnDelete_Click(object sender, RoutedEventArgs e)
{
Cigarette c = cboCigarette.SelectedItem as Cigarette;
c.Active = false;
SubmitOperation so = context.SubmitChanges();
so.Completed += delegate (object s, EventArgs es)
{
LoadComboBox();
}
}
private void LoadComboBox()
{
cboCigarettes.DataSource = null;
cboCigarettes.DataSource = context.Cigarettes;
context.Load(context.GetCigarettesQuery());
}
При нажатии кнопки «Удалить» выполняется весь код. Однако удаленный элемент все еще находится в ComboBox (даже если запись была обновлена в базе данных). Если я обновляю страницу, элемент исчезнет из ComboBox.
Любые идеи?
PS: Я написал этот код из памяти, так как у меня нет кода со мной. Поэтому я, возможно, забыл строку, но я думаю, что у меня есть все соответствующие строки.
Does context.GetCigarettesQuery() возвращает запрос, который исключает неактивные элементы из результирующих? (что-то вроде Сигареты. Где (c =>! c.Active)) – STO
Да, так оно и есть. Метод LoadComboBox' выполняется в событии Window_Loaded. Когда я обновляю страницу после удаления, удаленный элемент теперь уходит из ComboBox. Я хотел бы, чтобы это произошло без обновления всей страницы. –