Winform菜鸟驿站管理系统-数据报表制作方法和逻辑层代码展示

1,上一期分享快递完成度的统计,以及界面代码的展示,本期将展示DAL层和BLL层代码在界面初始化中代码显示如下;

 private void FrmExpCompletionStatistics_Load(object sender, EventArgs e)
 {
     //站点下拉框加载
     FormUtility.LoadCboStations(cboStations, stationBLL);
     cboStations.SelectedIndex = 0;
     //统计当前的完成度
     //默认加载已完成的列表
     dgvExpList.AutoGenerateColumns = false;
     StatisticsCompletionCount();
 }

2, 站点下拉框加载部分 BLL层

  /// <summary>
  /// 加载站点下拉框
  /// </summary>
  /// <param name="cboStations"></param>
  public static void LoadCboStations(ComboBox cboStations, StationBLL statBLL)
  {
      List<StationInfo> stationList01 = statBLL.GetCboStationList();
      stationList01.Insert(0, new StationInfo()
      {
          StationId=0,
          StationName= "请选择站点"
      });
      cboStations.DisplayMember = "StationName";
      cboStations.ValueMember = "StationId";
      cboStations.DataSource = stationList01;
  }

站点下拉框加载部分 DAL层 

/// <summary>
/// 获取绑定下拉框的所有站点列表
/// </summary>
/// <returns></returns>
public List<StationInfo> GetCboStationList()
{
    return stationDAL.GetCboStationList();
}

3,上一期有个 根据站点统计完成度的方法实现如下:StatExpressCountData 如下是BLL层和DAL层代码

 /// <summary>
 /// 快递完成度数量统计 
 /// </summary>
 /// <param name="stationId"></param>
 /// <returns></returns>
 public List<ExpressCountInfo> StatExpressCountData(int stationId = 0)
 {
     int[] reCounts = statisticsDAL.StatExpressCountData(stationId);
     List<ExpressCountInfo> statList = new List<ExpressCountInfo>();
     statList.Add(new ExpressCountInfo() { ExpState = "已完成数", ExpCount = reCounts[0] });
     statList.Add(new ExpressCountInfo() { ExpState = "未完成数", ExpCount = reCounts[1] });
     return statList;
 }

 DAL层

 /// <summary>
 /// 统计快递完成度数量
 /// </summary>
 /// <param name="stationId"></param>
 /// <returns></returns>
 public int[] StatExpressCountData(int stationId = 0)
 {
     string sql = "select * from StatisticsExpCompletion(" + stationId + ")";
     DataTable dt = SqlHelper.GetDataTable(sql, 1);
     int[] reCounts = new int[2];  //定义数组   new int[2] 表示两个长度的数组
     if (dt.Rows.Count>0)
     {
         reCounts[0] = (int)dt.Rows[0][0];
         reCounts[1] = (int)dt.Rows[0][1];
     }
     return reCounts;
 }

 3,数据类型转换  GetInt

/// <summary>
/// 将object转换为int
/// </summary>
/// <param name="oValue"></param>
/// <returns></returns>
public static int GetInt(this object oValue)
{
    int reInt = 0;
    try
    {
        reInt = Convert.ToInt32(oValue);
    }
    catch
    {
        reInt = 0;
    }

    return reInt;
}

 4,结果显示如下

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值