DataTable dt = new DataTable();
dt=dateset.Tables[0];
//计算平均值
rainAvg = String.Format("{0:0.0}", dt.Compute("avg(rainValue)", ""));//查询站点值
for (int j = 0; j < dt.Rows.Count; j++)
{
rainStation += dt.Rows[j][1] + "\t" + String.Format("{0:0.0}", dt.Rows[j][2])+ "\r\n";
}
//查询站点雨量并排序取前三个,变成字符串,只用在word中
DataView DV = new DataView(dt);
DV.Sort = "rainValue desc";
rainStationMaxs = DV[0][1].ToString() + "(" + String.Format("{0:0.0}",DV[0][2]) + "mm)、" + DV[1][1].ToString() + "(" + String.Format("{0:0.0}",DV[1][2]) + "mm)、" + DV[2][1].ToString() + "(" + String.Format("{0:0.0}",DV[2][2]) + "mm)。";
//查询街道雨量
var result = from row in dt.AsEnumerable()
group row by new
{
streetName = row.Field<string>("StreetName"),
} into g
orderby g.Key.streetName ascending
select new
{
StreetName = g.Key.streetName,
count_rain = g.Average(r => Convert.ToDouble(r.Field<double>("rainValue")))
};
DataTable boundTable = new DataTable();
boundTable.Columns.Add("StreetName");
boundTable.Columns.Add("rainValue", typeof(double));
result.ToList().ForEach(q => boundTable.Rows.Add(q.StreetName, q.count_rain));
for (int j = 0; j < boundTable.Rows.Count; j++)
{
rainStreet += boundTable.Rows[j][0] + "\t" + String.Format("{0:0.0}",boundTable.Rows[j][1]) + "\r\n";
}
//result.ToList().ForEach(q => rainStreet += q.StreetName + "\t" + q.count_rain + "\r\n");
//查询街道雨量,并对雨量进行排序,只用在word中
DV = new DataView(boundTable);
DV.Sort = "rainValue desc";
for (int j = 0; j < DV.Count; j++)
{
rainStreetDesc += DV[j][0] + "(" + String.Format("{0:0.0}",DV[j][1]) + "mm),";
}
rainStreetDesc = rainStreetDesc.Remove(rainStreetDesc.Length - 1);
rainStreetDesc = rainStreetDesc.Insert(rainStreetDesc.Length, ";雨量较大站点出现在");
creatDocument();