2

我玩过动态数据网站。winforms有没有类似的东西。如果没有任何东西可以用winforms做同样的事情,那么问题是为什么不呢?我们有一个庞大的 ERP 应用程序,我们希望将其从 AS400 迁移到 .Net Winform 应用程序。我最初的想法是让所有维护都像动态数据网站项目一样简单。

4

6 回答 6

1

动态数据使您可以轻松地在网络上编辑您的数据库。对于桌面(和 Web)应用程序,请查看新的 Microsoft LightSwitch:

http://msdn.microsoft.com/en-us/lightswitch/gg441300

LightSwitch 不使用 Windows 窗体。相反,它创建了一个可以在桌面和 Web 上运行的 Silverlight 应用程序。很酷。

于 2011-02-12T18:01:33.550 回答
1

我认为 WPF 将是一个比 WinForms 更好的起点,因为它支持样式来说明数据项的显示方式。

于 2009-08-21T12:01:59.463 回答
0

Dynamic data is using the routing functionality of the MVC framework. In Windows forms we don't have this approach of fetching data with URLs from a server.
I am not sure how this model could fit into Windows forms.

I think it's pretty hard to create something like dynamic data for Windows Forms.
My biggest concern is here, once you created that Framework, how do you configure it? I mean if you want to change 1 form to be a bit different than the others :-)

I think its better to generate Forms for the various tables in the Database context, using a powerful Grid control from one of the big vendors. And then you can configure those.

Remember this is a different approach then the dynamic data one, where no code is generated before compile time

于 2009-03-25T13:17:37.460 回答
0

尽管动态数据看起来简单且便宜到足以访问数据库,但它无论如何都不适用于 ERP 系统。业务系统不仅仅是在数据库和用户界面之间移动数据,它们在保存数据时需要业务规则操作,而在检索数据时可能需要一些按摩以确保有意义地呈现存储优化数据。

如果您仍然喜欢使用此选项,那么创建一个构建在 Entity Framework 之上的应用程序将非常容易。

于 2009-08-20T18:20:19.913 回答
0

我认为您在 winform 应用程序中看不到类似内容的原因是因为将 HTML 页面存储在数据库中然后在使用 Web 应用程序时将其显示在正确格式化的屏幕上要容易得多,因为您的浏览器知道如何格式化HTML。

您必须存储在数据库中,知道每个标签和字段将以某种坐标方式在表单上的位置(或者您可以使用布局第 3 方控件),但是可能需要的工作量是乏味地做正确。

我工作的动态数据网站没有接受用户的输入。它只向用户显示不同的网页,并允许管理员轻松更改内容。如果您希望用户能够保存数据,那么这将更加复杂,因为您必须担心验证、必填字段等。

如果您有很多用户需要根据他们的访问级别查看不同的信息,那么我建议在数据库中创建一个表来告诉系统他们是否应该看到表单上的字段。然后使用第 3 方布局面板来格式化可见字段。

我的 2 美分

于 2009-08-18T18:26:43.480 回答
0

我不知道类似动态数据的,但是(在几年前为 ASP 写过一个)我实际上并不认为它会那么难,特别是在 WPF 及其模板支持的情况下。

实际上,如果您真的很聪明,您可能可以从动态数据中“借用”后端,并将 UI 重新实现为 WPF。

实际上会做一个有趣的小项目。

替代答案:使用 Microsoft Access。不完全是。替代答案#2:那么为什么不直接使用动态数据呢?

于 2009-08-24T13:50:03.240 回答