原創|其它|編輯:郝浩|2012-11-08 14:03:26.000|閱讀 578 次
概述:在DevExpress eXpressApp Framework中提供了DashboardView用于展示儀表盤dashboard。我們就來討論下其中級聯式儀表盤的連接機制和應用示例。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在DevExpress eXpressApp Framework中提供了DashboardView用于展示多個并排的視圖,也就是展示所謂的儀表盤dashboard。接下來,我們就來討論下其中級聯式儀表盤的連接機制和應用示例。
創建級聯式儀表盤,首先要連接ListViews,用以下API便可完成。
public interface IModelDashboardViewFilter : IModelNode { [DataSourceProperty("FilteredColumns")] IModelColumn FilteredColumn { get; set; } [DataSourceProperty("DataSourceViews")] IModelListView DataSourceView { get; set; } } [ModelAbstractClass] public interface IModelDashboardViewItemEx : IModelDashboardViewItem { IModelDashboardViewFilter Filter { get; } }
然后擴展XAF的模型,如下代碼:
public void ExtendModelInterfaces(ModelInterfaceExtenders extenders) { extenders.Add<IModelDashboardViewItem, IModelDashboardViewItemEx>(); }
連接完成后,我們就可以使用模型編輯器(Model Editor)來創建和編輯dashboard中的各個視圖了。如下圖所示:
并且能夠實現過濾功能:
接下來我們來看一些創建好的dashboard儀表盤的實際應用,比如說適用于科技業的三列式儀表盤。他使用了LayoutListEditor來完成部分過濾功能。
在選項卡式MDI環境下,便可實現這種dashboard的創建。
最后帶來完成這種三列式儀表盤的代碼,非常簡單:
protected override void OnViewControlsCreated() { base.OnViewControlsCreated(); foreach (var result in View.Items.OfType<DashboardViewItem>()) { var frame1 = result.Frame; if (frame1 != null && frame1.View is ListView) { var listView = ((ListView)frame1.View); DashboardViewItem result1 = result; listView.SelectionChanged += (sender, args) => OnSelectionChanged(new SelectionChangedArgs(listView, result1)); } } void OnSelectionChanged(SelectionChangedArgs selectionChangedArgs) { var dataSourceListView = DataSourceListView((IModelListView)selectionChangedArgs.DashboardViewItemModel.View); if (dataSourceListView != null) { var dashboardViewItems = View.Items.OfType<DashboardViewItem>(); foreach (var dashboardViewItem in dashboardViewItems) { var modelDashboardViewItemEx = (IModelDashboardViewItemEx)dashboardViewItem.GetModel(View); FilteredListView(dataSourceListView, dashboardViewItem, modelDashboardViewItemEx);
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網