【发布时间】:2014-10-08 02:55:11
【问题描述】:
情况
我正在使用 Model-View-Presenter 结构设计一个 Windows 窗体应用程序。这意味着每个表单背后都有一个演示者类,用于处理用户输入。除此之外,我使用的是存储库结构,这意味着我希望将所有 SQL 查询放在单独的类中。
对于我的一个表单,我希望使用 DataGridView 来显示数据库中的一些数据。
我想要什么
一旦用户按下某个按钮,我希望从 DataGridView 中的数据库加载数据。换句话说,我希望将我的 DataGridView1.DataSource 绑定到一个 BindingSource,该 BindingSource 通过 SQL 查询从数据库中获取数据。
但是,由于我的 DataGridView 是私有的,我无法从演示者或存储库类访问其数据源。
我的问题
总而言之,我的问题是是否可以将 BindingSource 从存储库-cass(完成 SQL 连接和查询的地方)传递给我的演示者,再传递给我的 WinForm,后者将使用它来填充 DataGridView。
如果这是不可能的,是否有另一种方法来保持我的 MVP 和存储库结构,保持我的 DataGridView 私有并仍然用数据库数据填充它?
如果问题不清楚,请询问详细信息。提前致谢!
【问题讨论】:
标签: c# datagridview