WPF的DataGrid数据保存与更改

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF的DataGrid数据保存与更改相关的知识,希望对你有一定的参考价值。

在手动输入一些数据后,怎么保存到数据库或者txt等文件中,下次打开程序又能读取保存的数据?
麻烦给出详细的代码,尤其是“保存”按钮的事件处理代码。

参考技术A 读取和保存的方法很多
你是用什么方式读取数据的?针对用什么方法保存数据。追问

新手不太懂读取和存储方式,劳您费心讲解一下~

字数超过限制没法发代码。

追答

表格中的数据怎么来的?查询的脚本粘贴出来

追问

直接输入的。

如何获取 WPF DataGrid 以将更改保存回数据库?

【中文标题】如何获取 WPF DataGrid 以将更改保存回数据库?【英文标题】:How do I Get a WPF DataGrid to Save Changes Back to the DataBase? 【发布时间】:2010-11-12 12:08:56 【问题描述】:

我已将我的 DataGrid 控件数据绑定到一个 DataTable 对象,并用一个非常简单的 SELECT 查询填充该表,该查询检索一些基本信息。数据在控件中显示得很好。

但是当我使用控件编辑数据时,更改不会被推送回数据库。

有人知道我错过了什么吗?

【问题讨论】:

【参考方案1】:

执行更新

当用户在 DataGrid 中编辑客户数据时,内存中绑定的 DataTable 会相应更新。但是,这些更新不会自动写回数据库。由开发人员根据应用程序的要求决定何时将 DataTable 的更改写回数据库。例如,在某些情况下,您可能希望通过“提交”按钮提交一批更改,或者您可能希望在用户提交每个行编辑时更新数据库。为了支持这些,DataTable 包含的行有一个 RowState 属性,该属性指示它们是否包含应该与数据库同步的更改。通过 TableAdapter 的 Update 方法可以轻松实现同步过程。 网址: WPF DataGrid examples

以下示例显示了如何处理 RowChanged 和 RowDeleted 事件,以便在每次用户更改行时将 DataTable 状态的更改写入数据库:

public CustomerDataProvider()

    NorthwindDataSet dataset = new NorthwindDataSet();

    adapter = new CustomersTableAdapter();
    adapter.Fill(dataset.Customers);

    dataset.Customers.CustomersRowChanged +=
        new NorthwindDataSet.CustomersRowChangeEventHandler(CustomersRowModified);
    dataset.Customers.CustomersRowDeleted +=
        new NorthwindDataSet.CustomersRowChangeEventHandler(CustomersRowModified);


void CustomersRowModified(object sender, NorthwindDataSet.CustomersRowChangeEvent e)

    adapter.Update(dataset.Customers);

【讨论】:

以上是关于WPF的DataGrid数据保存与更改的主要内容,如果未能解决你的问题,请参考以下文章

在 MVVM 中的 Datagrid 中绑定 WPF 组合框不保存更改

DataGrid 行内容垂直对齐

有界数据更改后重新排序 WPF DataGrid

C# WPF 根据数据更改 DataGrid 行(背景)颜色

在 DataTable 更改 WPF 后更新绑定到 DataTable 的 DataGrid

行属性更改时WPF Datagrid行颜色更改