刷新未绑定到可观察集合的 WPF 数据网格



我正在使用带有数据网格的LINQ to SQL,并将数据绑定到自动生成的字段。通过 LINQ 提交更改时,数据更新正常。我遇到的问题是,在直接对数据库运行SQL语句后,我似乎无法刷新更新的数据。数据库数据已正确更新,关闭并重新启动应用程序时,数据将正确更新。

我试过了,

MyTable.Items.Refresh();

private DatabaseDataContext sql = new DatabaseDataContext(
            Properties.Settings.Default.StaffConnectionString);
sql.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues);

用于将数据绑定到数据网格列的 XAML,Info_Data是从数据库表中自动生成的字段。

<DataGridTemplateColumn Header="Info" Width="*" SortMemberPath="Words">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock FontWeight="Light" Text="{Binding Path=Info_Data, UpdateSourceTrigger=PropertyChanged}" />
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>

从各方面来看,我似乎都需要创建一个可观察的集合并将数据绑定到该集合并更新集合以刷新数据网格表。有什么办法吗?

您可以尝试 SqlDataAdapter 和 DataTable 从数据库加载信息并绑定到 DataGrid:

var da = new SqlDataAdapter("SELECT * FROM " + view, conn);
var dt = new DataTable();
da.Fill(dt);
var dg = new DataGrid();// Your DataGrid
dg.ItemsSource = dt.DefaultView;

更新时:

dt.Rows.Clear();
da.Fill(dt);
dt.AcceptChanges();

相关内容

  • 没有找到相关文章

最新更新