关于devexpress:UI美化Winform数据网格如何绑定数据

29次阅读

共计 1627 个字符,预计需要花费 5 分钟才能阅读完成。

点击获取工具 >>

先决条件

平台:

  • Frameworks (XAF & XPO)
  • WinForms

产品:

  • eXpress Persistent Objects

这些新的只读服务器模式组件是 XPServerCollectionSource/XPInstantFeedbackSource 和 XPView 的混合,可与 DevExpress Grid 控件一起应用。

它们提供以下内容:

  • 能以较低的内存使用量解决大型数据源(不会加载整个长久对象实例)。
  • 能自定义 SELECT 语句并排除未应用的数据列。
  • 能在根查问中包含援用属性数据,以防止 1 + N 问题。
  • 能蕴含应用 ServerViewProperty 在服务器端计算的自定义(虚构)属性。

在将这些组件用作网格的数据源之前,请按以下形式配置它们:

  1. 在代码或组件设计器中设置 ObjectType 和 Properties,ServerViewProperty 反对表达式中的持久性或别名属性。

C#

`xpServerModeView1.ObjectType = typeof(Order);
xpInstantFeedbackView1.ObjectType = typeof(Order);

var viewProperties = new ServerViewProperty[] {
new ServerViewProperty(“Oid”, SortDirection.Ascending, “[Oid]”),
new ServerViewProperty(“OrderDate”, SortDirection.None, “[OrderDate]”),
new ServerViewProperty(“Customer”, SortDirection.None, “[Customer.ContactName]”),
new ServerViewProperty(“ProductName”, SortDirection.None, “[ProductName]”),
new ServerViewProperty(“Price”, SortDirection.None, “[Price]”),
new ServerViewProperty(“Quantity”, SortDirection.None, “[Quantity]”),
new ServerViewProperty(“TotalPrice”, SortDirection.None, “[Quantity] * [Price]”),
new ServerViewProperty(“Tax”, SortDirection.None, “[Quantity] [Price] 0.13″)
};
xpServerModeView1.Properties.AddRange(viewProperties);
xpInstantFeedbackView1.Properties.AddRange(viewProperties);`

  1. 解决 ResolveSession 事件来提供一个 Session,以从数据存储中检索对象。

C#

`session = new Session(XpoDefault.DataLayer);

xpServerModeView1.ResolveSession += (s, e) => {
e.Session = session;
};

xpInstantFeedbackView1.ResolveSession += (s, e) => {
e.Session = session;
};`

  1. 对于 XPInstantFeedbackView,能够抉择解决 DismissSession 事件以手动解决在 ResolveSession 事件处理程序中创立的 Session。

C#

`xpInstantFeedbackView1.DismissSession += (s, e) => {
IDisposable session = e.Session as IDisposable;
if (session != null) {
session.Dispose();
}
};`

正文完
 0