彩票走势图

XAF应用示例分享:如何创建Dashboard仪表盘

原创|其它|编辑:郝浩|2012-11-08 14:03:26.000|阅读 535 次

概述:在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中的各个视图了。如下图所示:

XAF应用示例分享:如何创建Dashboard仪表盘

  并且能够实现过滤功能:

XAF应用示例分享:如何创建Dashboard仪表盘

   接下来我们来看一些创建好的dashboard仪表盘的实际应用,比如说适用于科技业的三列式仪表盘。他使用了LayoutListEditor来完成部分过滤功能。

XAF应用示例分享:如何创建Dashboard仪表盘

  在选项卡式MDI环境下,便可实现这种dashboard的创建。

XAF应用示例分享:如何创建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@pclwef.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP