如何编程修改现有ASPxGaugeControl的Range值
ASPxGaugeControl 控件Range值程序化修改方案
你从SpeedSUM.Gauges起始的完整对象访问路径逻辑如下:
- 第一步:从Gauges集合拿到Name为
cGauge1的圆形仪表盘实例 - 第二步:从该仪表盘的Scales集合拿到ID为
QWE的弧度刻度组件 - 第三步:访问刻度组件下的Ranges集合,按Range的Name属性匹配到目标区间,直接修改
StartValue、EndValue即可
补全后的代码示例
// 拿到目标圆形仪表盘 CircularGauge cGauge = (CircularGauge)SpeedSUM.Gauges["cGauge1"]; // 拿到ID为QWE的刻度组件 ArcScaleComponent targetScale = (ArcScaleComponent)cGauge.Scales["QWE"]; // 修改红色区间Range1(原配置0-600) ArcScaleRangeWeb redRange = (ArcScaleRangeWeb)targetScale.Ranges["Range1"]; redRange.StartValue = 0; redRange.EndValue = 650; // 按实际需求改值 // 修改黄色区间Range2(原配置600-900) ArcScaleRangeWeb yellowRange = (ArcScaleRangeWeb)targetScale.Ranges["Range2"]; yellowRange.StartValue = 650; yellowRange.EndValue = 1000; // 按实际需求改值 // 修改绿色区间Range0(原配置900-1000) ArcScaleRangeWeb greenRange = (ArcScaleRangeWeb)targetScale.Ranges["Range0"]; greenRange.StartValue = 1000; greenRange.EndValue = 1100; // 和你之前设置的MaxValue=1100对齐
简便写法
因为你已经给弧度刻度组件设置了ID="QWE",和你之前修改MaxValue的逻辑一致,不需要逐层从Gauges集合往下找,直接访问QWE实例即可:
// 直接修改绿色区间终点值 ((ArcScaleRangeWeb)QWE.Ranges["Range0"]).EndValue = 1100;
注意:Ranges集合按Name索引时,Name值必须和前端标记里定义的
Range0/Range1/Range2完全一致,否则会触发空引用异常。
内容的提问来源于stack exchange,提问作者Максим Березиков
相关产品推荐
相关产品推荐

