我正在使用SOAP webservice到我使用DevExpress控件的ASP.NET项目。我想要做的是从Web服务获取数据并将其绑定到DevExpress网格控件。
在使用Web服务时,我得到了一些IEnumerable
容器。是否有可能在Web服务和Devexpress网格控制之间创建某种类型的动态关系?我希望能够对IEnumerable容器中的每条记录使用CRUD操作,这些记录将在用户输入后返回到webservice [POST]
在webservice和gridcontrol之间建立桥梁的最佳方法是什么?[GET和POST形成gridview]?
答案 0 :(得分:1)
我的建议是编写一个帮助程序类来处理CRUD操作,与DevExpress控件分开。
通过让中间类处理与数据源之间的CRUD操作,将显示逻辑与业务逻辑(MVC style)分开始终是一个好主意。这允许我们在一个位置更改数据源(您的案例中的Web服务),而不会破坏任何其他代码。我们甚至可以将数据源从Web服务更改为SQL Server(或MySQL或任何其他内容),而无需调整前端。
就绑定到DevExpress控件而言,您需要单独处理CRUD行事件 - 它们有一些很棒的examples和非常好的documentation。您可能应该阅读有关更高级选项的数据绑定,但我们通常会对来自ASP.NET页面上的DevExpress控件的CRUD事件执行以下操作(在代码隐藏中):
var Record = new Record();
或var Record = RecordHelper.GetWithId(PrimaryKeyValue);
Record.Name = "New Name";
RecordHelper.Insert(Record);
或RecordHelper.Update(Record);
您可以编写某种子类来处理绑定和更新,或者开始阅读Entity Framework之类的方法,但我建议您从上面开始,以便了解DevExpress控件之间的交互。你的数据库。
P.S。 This MSDN article是一个开始学习一些非常简单但功能强大的双向数据绑定的好地方。这可能是你首先要寻找的东西;如果您碰巧使用的是.NET 4.5,请注意它提供强类型数据绑定,这使生活更加轻松。