「UI美化」Winform數據網格如何綁定數據

點擊獲取工具>>express

先決條件

平臺:服務器

  • Frameworks (XAF & XPO)
  • WinForms

產品:session

這些新的只讀服務器模式組件是XPServerCollectionSource/XPInstantFeedbackSourceXPView 的混合,可與DevExpress Grid控件一塊兒使用。工具

它們提供如下內容:設計

  • 能以較低的內存使用量處理大型數據源(不會加載整個持久對象實例)。
  • 能自定義SELECT語句並排除未使用的數據列。
  • 能在根查詢中包括引用屬性數據,以免1 + N問題。
  • 能包含使用ServerViewProperty在服務器端計算的自定義(虛擬)屬性。

在將這些組件用做網格的數據源以前,請按如下方式配置它們:orm

  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#get

`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();}};`

相關文章
相關標籤/搜索