前台显示的东西,有相应的文档很容易修改,后台传递数据方式才是我们最关心的
首先要记住,我们一步数据使用的是post,那么后台代码我们要给方法加上 [HttpPost]注解
不然异步没有效果
下面上代码,为了节省时间,字段变量的命名,我用的是英文1,2,3,不要见怪哦
public ActionResult GetMarriageList(int areaId, int level) { List<VwAllPersonInfoModel> allPerList = new List<VwAllPersonInfoModel>(); IVwAllPersonInfoService allPerService = LoadService<IVwAllPersonInfoService>(); Dictionary<string, Object> json = new Dictionary<string, Object>(); DdlDataSrc ddl = new DdlDataSrc(); DataTable dt = new DataTable(); Criteria c = new Criteria(); StringBuilder sb = new StringBuilder(); ddl.getAllChildAreaIds(sb, areaId); #region 根据区域把获取的数据放入json int one = 0; int two = 0; int three = 0; int four = 0; if (level == 3) { c.AddWhere("AreaId", areaId); allPerList = allPerService.GetAllVwAllPersonInfoModel(c); } else if (level != 0) { string str = sb.Remove(sb.Length - 1, 1).ToString(); dt = allPerService.GetAllPersonInfoCharts(str, 0, 0); allPerList = (List<VwAllPersonInfoModel>)ModelConvertHelper<VwAllPersonInfoModel>.ConvertToModel(dt); } if (allPerList.Count != 0) { for (int i = 0; i < allPerList.Count; i++) { switch (allPerList[i].MaticalStatus)//婚姻状况 { case 1: ++one; break; case 2: ++two; break; case 3: ++three; break; case 4: ++four; break; } } json.Add("未婚", one); json.Add("已婚有配偶", two); json.Add("离婚", three); json.Add("丧偶", four); } else { json.Add("暂无数据", 1); } #endregion return Json(json); }
这里使用 Dictionary<string, Object> json = new Dictionary<string, Object>();Dictionary的结构是这样的:Dictionary<[key], [value]>提供快速的键值查找的方式,把输入异步给统计图。
如果数据是单选的,可以使用switch进行判断,如果是多选的话,请使用if进行判断。
总结:第一次完成统计图走了不少弯路,在编程的道路上我还是有点菜的鸟,接触的越多越是感觉到自己只是的贫乏,对于园子里的大神,只能用仰视的角度去看了。 项目初期要学习统计图,马上加了一堆echarts群,看文档尝试修改方式。数据库的存储过程的修改,后台数据的转换以及思路的整理花去的不少时间,路漫漫其长修远,脚下的路还会很长。