如何将数据从webservice绑定到ASP.NET中的DevExpress gridview并对数据使用CRUD操作?

时间:2012-09-04 21:53:02

标签: c# asp.net web-services web devexpress

我正在使用SOAP webservice到我使用DevExpress控件的ASP.NET项目。我想要做的是从Web服务获取数据并将其绑定到DevExpress网格控件。

在使用Web服务时,我得到了一些IEnumerable容器。是否有可能在Web服务和Devexpress网格控制之间创建某种类型的动态关系?我希望能够对IEnumerable容器中的每条记录使用CRUD操作,这些记录将在用户输入后返回到webservice [POST]

在webservice和gridcontrol之间建立桥梁的最佳方法是什么?[GET和POST形成gridview]?

1 个答案:

答案 0 :(得分:1)

我的建议是编写一个帮助程序类来处理CRUD操作,与DevExpress控件分开。

通过让中间类处理与数据源之间的CRUD操作,将显示逻辑与业务逻辑(MVC style)分开始终是一个好主意。这允许我们在一个位置更改数据源(您的案例中的Web服务),而不会破坏任何其他代码。我们甚至可以将数据源从Web服务更改为SQL Server(或MySQL或任何其他内容),而无需调整前端。

就绑定到DevExpress控件而言,您需要单独处理CRUD行事件 - 它们有一些很棒的examples和非常好的documentation。您可能应该阅读有关更高级选项的数据绑定,但我们通常会对来自ASP.NET页面上的DevExpress控件的CRUD事件执行以下操作(在代码隐藏中):

  1. 实例化一个表示数据记录的对象(如果它是现有记录,则使用我们的帮助程序类从数据源中检索它):var Record = new Record();var Record = RecordHelper.GetWithId(PrimaryKeyValue);
  2. 根据需要对该对象进行更改:Record.Name = "New Name";
  3. 将对象传递回我们的帮助器类中的方法,该方法处理对数据源的必要调整:RecordHelper.Insert(Record);RecordHelper.Update(Record);
  4. 更新页面上的网格(根据需要)
  5. 您可以编写某种子类来处理绑定和更新,或者开始阅读Entity Framework之类的方法,但我建议您从上面开始,以便了解DevExpress控件之间的交互。你的数据库。


    P.S。 This MSDN article是一个开始学习一些非常简单但功能强大的双向数据绑定的好地方。这可能是你首先要寻找的东西;如果您碰巧使用的是.NET 4.5,请注意它提供强类型数据绑定,这使生活更加轻松。