【问题标题】:WPF binding datagrid with SQL Server database tableWPF 将数据网格与 SQL Server 数据库表绑定
【发布时间】:2018-09-30 14:47:24
【问题描述】:

我正在 wpf 上构建一个销售应用程序,我有一个包含销售数据的数据网格,每次执行插入、删除或更新查询时,我都必须执行如下所示的显示查询,有什么办法可以吗?将数据网格直接绑定到 SQL Server 表,以便在 SQL Server 表更改时自动更新?

后面的代码:

connection.open();

SqlDataAdapter adapter = new SqlDataAdapter("SELECT*FROM Comptoir", connection);
tble.Clear();
adapter.Fill(tble);

ComptoirGrid.ItemsSource = tble.DefaultView;
connection.close();

【问题讨论】:

  • 绑定可以将数据从后面的代码更新到 xaml,但必须调度调用才能从数据库中获取数据。
  • 没错,但是如何通过将触发器设置为表更改,将数据网格绑定到后面代码中的数据库表。

标签: c# sql-server wpf datatable datagrid


【解决方案1】:

试试这个

using (SqlConnection con = new SqlConnection(connection_string))
        {
            con.Open();
            // 2
            // Create new DataAdapter
            using (SqlDataAdapter a = new SqlDataAdapter(
                "SELECT * FROM Contacts", con))
            {
                // 3
                // Use DataAdapter to fill DataTable
                DataTable t = new DataTable();
                a.Fill(t);
                // 4
                // Render data onto the screen
                Data_table.DataSource = t;
            }
        }

每当您对 SQL Server 数据库执行操作时,例如在编辑数据时按下保存按钮或更新时输入此代码,回复您将发生的情况。 祝兄弟好运?

【讨论】:

  • 它似乎与我目前使用的方式相同,我想从 WPF 的“绑定”功能中获益,这样我就不必每次都重写这些命令。
  • 你试过 datagridview.update();或 datagridview.refresh();
  • 我使用的是 WPF 而不是 WinFrom,所以该类是 Datagrid(不是 datagridview),尽管它处理这个方法 Datagrid.items.refresh();数据网格中的项目需要先绑定然后调用刷新或更新。
【解决方案2】:

我终于找到了解决方案,真的就这么简单,将数据源添加到数据库中,然后右键单击所需的表,在那里您已经设置了数据网格绑定模板,然后将其拖动到该位置在你想要的窗口中,你会看到自动生成的xaml上的绑定代码,希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2013-07-27
    • 2011-01-31
    • 2017-05-14
    • 2012-11-21
    • 2015-08-07
    • 2011-09-28
    • 2010-11-15
    相关资源
    最近更新 更多