设置DevExpress XtraChart控件Serious的特定颜色(原)

显示样式如图:

源码:(由于此代码为项目中应用的部分代码,大家借鉴即可,有些接口是GIS技术的ArcEngine函数实现,非GIS技术人可不用追究)

   /// <summary>       

/// 显示柱状图       

/// </summary>       

/// <param name="dt"></param>       

private void ShowBarChart(DataTable dt)       

{           

this.chartControl.Series.Clear();           

//创建Serious           

for (int i = 0; i < dt.Rows.Count;i++ )           

{               

this.chartControl.Series.Add(dt.Rows[i][0].ToString(), DevExpress.XtraCharts.ViewType.Bar);               

int seriousIndex = GetSeriousIndex(dt.Rows[i][0].ToString());

DevExpress.XtraCharts.SideBySideBarSeriesView pSideBySideBarSeriesView = new DevExpress.XtraCharts.SideBySideBarSeriesView(); 

IColor pColor = Common.AELib.CLayer.GetLayerColorByName(dt.Rows[i][0].ToString(), _pMap);               

IRgbColor pRgbColor=pColor as IRgbColor;

pSideBySideBarSeriesView.Color = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(pRgbColor.Red)))), ((int)(((byte)(pRgbColor.Green)))), ((int)(((byte)(pRgbColor.Blue)))));               

pSideBySideBarSeriesView.FillStyle.FillMode = DevExpress.XtraCharts.FillMode.Solid;               

pSideBySideBarSeriesView.Transparency = ((byte)(0));

this.chartControl.Series[seriousIndex].View = pSideBySideBarSeriesView;               

DataTable tempdt = new DataTable();               

tempdt = dt.Copy();               

tempdt.Rows.Clear();               

tempdt.ImportRow(dt.Rows[i]);               

this.chartControl.Series[seriousIndex].DataSource = tempdt.DefaultView;  

this.chartControl.Series[seriousIndex].ArgumentDataMember = tempdt.Columns[0].ToString();//X方向

this.chartControl.Series[seriousIndex].ValueDataMembers[0] = tempdt.Columns[1].ToString();//Y方向           

}           

this.chartControl.Refresh();       

}

/// <summary>       

/// 获得特定名称的Serious Index编号       

/// </summary>       

/// <param name="layerName"></param>       

/// <returns></returns>       

private int GetSeriousIndex(string layerName)       

{           

for (int i = 0; i < this.chartControl.Series.Count; i++)           

{               

if (this.chartControl.Series[i].Name == layerName)                   

return i;           

}           

return -1;       

}

转载于:https://www.cnblogs.com/feilong3540717/archive/2011/04/07/2007682.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值