1,快递完成签收统计报表展示,所有数据均为测试数据
2, 根据上图所示 已完成 和未完成 总计又5条数据,已签收表示快递状态已完成,
3,接下来展示一下 visual studio 自带的图表如何设计比较好看一点,在工具箱找到如下图的控件 chart 控件
4, 关于样式设计主要以下几点;控件拖入界面如下图所示,按照下图提示更换图表样式,
5,按照下图红色框修改,在Legend界面修改两个地方可以使图例居中在顶部显示,至于其他样式设计,自己研究一下。
6,接下来展示代码部分, 该部分演示是初始化,打开界面直接 显示全部的信息和图表,将该StatisticsCompletionCount 方法写在初始化地方即可
private void StatisticsCompletionCount()
{
int stationId = cboStations.SelectedValue.GetInt();
List<ExpressCountInfo> countData = statisticsBLL.StatExpressCountData(stationId);
if (countData != null)
{
chartExpStat.DataSource = countData;
Series seriesComplete = chartExpStat.Series[0];
seriesComplete.Label = "#PERCENT{P}"; //显示百分比
seriesComplete.XValueType = ChartValueType.String;//x轴的值的类型
seriesComplete.YValueType = ChartValueType.Int32;//y轴的值的类型
seriesComplete["PieLableStyle"] = "OutSide";//设置标签文本显示在图标外边
seriesComplete.BorderWidth = 2;
seriesComplete.XValueMember = "ExpState";
seriesComplete.YValueMembers = "ExpCount";
seriesComplete.LegendText = "#VALX";//图例文本
lblHasCompleCount.Text = countData[0].ExpCount.ToString();
lblUnCompleteCount.Text = countData[1].ExpCount.ToString();
}
LoadExpressListByCount(true, stationId);
}
下面代码是加载指定的快递列表
private void LoadExpressListByCount(bool isCompleted, int stationId)
{
List<ExpressComInfo> expList = statisticsBLL.GetExpressListByCount(isCompleted, stationId);
if (expList.Count > 0)
{
dgvExpList.DataSource = expList;
}
else
dgvExpList.DataSource = null;
}
7,下一期更新具体DAL和BLL层的具体代码,谢谢!有需要具体的实现私信我