先决条件 平台: - Frameworks (XAF & XPO)
- WinForms
产品: 它们提供以下内容: - 能以较低的内存使用量处理大型数据源(不会加载整个持久对象实例)。
- 能自定义SELECT语句并排除未使用的数据列。
- 能在根查询中包括引用属性数据,以避免1 + N问题。
- 能包含使用ServerViewProperty在服务器端计算的自定义(虚拟)属性。
在将这些组件用作网格的数据源之前,请按以下方式配置它们: 1. 在代码或组件设计器中设置ObjectType和Properties,ServerViewProperty支持表达式中的持久性或别名属性。 C# [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);
2. 处理ResolveSession事件来提供一个Session,以从数据存储中检索对象。 C# [C#] 纯文本查看 复制代码 session = new Session(XpoDefault.DataLayer);
xpServerModeView1.ResolveSession += (s, e) => {
e.Session = session;
};
xpInstantFeedbackView1.ResolveSession += (s, e) => {
e.Session = session;
};
3. 对于XPInstantFeedbackView,可以选择处理DismissSession事件以手动处理在ResolveSession事件处理程序中创建的Session。 C# [C#] 纯文本查看 复制代码 xpInstantFeedbackView1.DismissSession += (s, e) => {
IDisposable session = e.Session as IDisposable;
if (session != null) {
session.Dispose();
}
};
DevExpress技术交流群2:775869749 欢迎一起进群讨论
|