DataSourceManager 角色
作為 OutlookGrid 與實際資料之間的抽象層,解決繫結模式下難以動態增刪列、排序分組邏輯與基底控件衝突的問題。
運作機制
- 建立資料源的欄位索引(屬性反射)與列索引(ArrayList),支援 DataTable、DataView、商業物件清單等。
- 排序時僅調整列索引順序,不移動實際資料。
- 分組時索引僅包含非分組列。
- 甚至可將
OutlookGrid 自身作為資料源繫結至 DataSourceManager,實現非繫結資料的排序分組。
優勢
- 統一處理繫結與非繫結資料源。
- 分離顯示邏輯與資料存取,符合分層架構。
- 索引機制使大量資料排序分組效能優異。
雖實作粗糙,但核心概念已驗證可行,歡迎改進建議。