在从一个UI(在网络上)更新数据后,如何在其他UI上重新加载数据并保持关系

本文关键字:数据 UI 关系 新加载 其他 加载 一个 网络 更新 | 更新日期: 2023-09-27 17:49:18

当我将MySql数据库的实体数据模型添加到WPF应用程序和为父和子表创建的CollectionViewSource时,如:

    <CollectionViewSource x:Key="topicmainViewSource" d:DesignSource="{d:DesignInstance {x:Type dbMRCPe:topicmain}, CreateList=True}"/>
    <CollectionViewSource x:Key="articlesRelatedViewSource" Source="{Binding topicsublev1, Source={StaticResource topicmainViewSource}}"/>

,并创建一个DataContext到一个网格,并绑定到radgridview,如

<Grid Name="maingrid" DataContext="{StaticResource topicmainViewSource}">
    <telerik:RadGridView x:Name="TopicMaingridview"  DataMember="idTopicMain" ItemsSource="{Binding}" />
    <telerik:RadGridView x:Name="articlesRelatedRadGridView" ItemsSource="{Binding Source={StaticResource articlesRelatedViewSource}}" />
 </Grid>
这是在cs 加载数据的代码
dbMRCPe.dbmrcpnephrologyEntities ctx = new dbMRCPe.dbmrcpnephrologyEntities();
    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        ctx = new dbMRCPe.dbmrcpnephrologyEntities();
        System.Windows.Data.CollectionViewSource topicmainViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("topicmainViewSource")));
        // Load data by setting the CollectionViewSource.Source property:
        topicmainViewSource.Source = ctx.topicmains;
    }

问题:如果用户在运行时将数据添加到gridview,如果在运行时使用的刷新按钮没有两个网格之间的关系,如何将数据重新加载到其他用户界面?

在从一个UI(在网络上)更新数据后,如何在其他UI上重新加载数据并保持关系

感谢大家在我之后解决了这个问题

通过添加新的引用到数据上下文,如

private void reloadbtn_Click(object sender, RoutedEventArgs e)
    {
     dbMRCPe.dbmrcpnephrologyEntities ctx2 = new dbMRCPe.dbmrcpnephrologyEntities();
     ctx = ctx2;
     topicmainViewSource.Source = ctx.topicmains;
    }

如果我使用topicmainViewSource。来源= ctx. topic干线;它不会直接加载新数据我还想在代码

中使用ctx.SaveChanges()