EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

在矢量地图上显示饼形标记

本主题描述如何在矢量地图上将业务对象显示为饼形标记。饼图标记将基于它们的关联值显示小饼图。

运行ASP.NET应用程序项目的应用程序设计器。将MapsAspNetModule组件从“工具箱”拖到设计器的“模块”窗格中。

MapsModule_Toolbox

实现支持IVectorMapsPieMarker接口的业务类。在下面的代码中,将创建一个新的City业务类。您也可以在现有业务类中支持IVectorMapsPieMarker

using DevExpress.Persistent.Base;
// ...
[DefaultClassOptions]
public class City : IVectorMapsPieMarker {
    [Browsable(false)]
    public int ID { get; private set; }
    public string Title { get; set; }
    public double Latitude { get; set; }
    public double Longitude { get; set; }
    [Browsable(false)]
    public string Tooltip {
        get {
            return string.Format("<b>Category A:</b> {0}<br/>"  
                "<b>Category B:</b> {1} <br/>"  
                "<b>Category C:</b> {2}",
            CategoryA, CategoryB, CategoryC);
        }
    }
   [Browsable(false)]
    public IList<float> Values {
        get {
            return new List<float> { CategoryA, CategoryB, CategoryC };
        }
    }
    public float CategoryA { get; set; }
    public float CategoryB { get; set; }
    public float CategoryC { get; set; }
}

IVectorMapsPieMarker.Tooltip返回值支持HTML格式。

注意

上面的示例适用于实体框架。但是,您可以在XPO持久性类中使用类似的方法。您可以在Feature Center演示中找到XPO的完整示例(请参见%PUBLIC%\ Documents \ DevExpress演示19.2 \ Components \ eXpressApp Framework \ FeatureCenter \ CS \ FeatureCenter.Module \ ListEditors \ VectorMapsListEditorDemoObject.cs)。

运行ASP.NET应用程序项目的模型编辑器,然后导航到“视图” | “视图”。City_ListView | VectorMapSettings节点。在这里,您可以更改地图选项。将IModelVectorMapSettings.LegendType设置为MarkersColors。您还可以将地图限制为特定区域(默认情况下,使用整个世界的地图)。例如,将IModelVectorMapSettings.Type属性设置为Eurore(“边界”和“几何”类别中的属性值将自动调整)。

VectorMaps_PieMarkersExample_ME

请参阅IModelVectorMapSettings接口的成员列表,以查看可用选项的描述。

提示

请注意,City_ListView节点的IModelListView.EditorType属性设置为WebVectorMapsListEditor。对于显示IVectorMapsPieMarker对象的所有列表视图,此操作都是自动完成的。

VectorMapSettings | IntervalItems节点(请参见IModelIntervalItems)使您可以定义饼状标记要使用的类别。此外,这些类别也列在地图图例中。您可以使用添加... | IntervalItem上下文菜单命令,用于添加子IModelIntervalItem节点以定义类别的标题。

创建具有Category ACategory BCategory C标题的子节点。

VectorMaps_PieMarkersExample_ME2

运行ASP.NET应用程序。使用WebVectorMapsListEditor列表编辑器及其VectorMapViewer控件可以可视化城市列表视图。您可以使用“新建操作”创建标记。

VectorMaps_PieMarkersExample_New

例如,创建以下城市。

标题 纬度 经度 A类 A类 C类
巴黎 48.83 2.34 30 20 50
伦敦 51.5 -0.01 70 20 10

生成的地图如下所示。巴黎伦敦使用饼状标记显示。类别及其颜色列在地图右下角的地图图例中。

VectorMaps_PieMarkersExample_TwoPieMarkers

提示

您可以使用IModelVectorMapSettings.PieMarkerSize属性来调整饼状标记的大小。

转载保留此链接,注明出处