理想状态是这样的 SkyLon.BLL.GW_MWL_S GWMonth = new GW_MWL_S();
DataTable DtMonth = GWMonth.GetList("STCD='" + STCD + "' and Left(YM,4)='" + DateTime.Now.Year.ToString() + "'").Tables[0];//的到一年内12个月的数据
for (int i = 1; i < 13; i++)//一年中12个月的数据
{
strBuilder.Append("<td bgcolor='#FFFFFF'><div align='center'>" + DtMonth.Rows[i]["MMNGWL"].ToString() + "</div></td>");
}但是假如我一年中的数据不全,其中某个月的数据丢失这样就会出错,想要的结果是对应的月份输出对应的数据,没有数据的月份就输出
strBuilder.Append("<td bgcolor='#FFFFFF'><div align='center'> -- </div></td>");
请高手指点!
DtMonth.Columns.Add("MonthNum");
for (int i = 0; i < DtMonth.Rows.Count; i++)
{
string ym = DtMonth.Rows[i]["ym"].ToString();
//取出月数
string mnum = ym;//....需改 DtMonth.Rows[i]["MonthNum"] = mnum;
} for (int i = 1; i < 13; i++)//一年中12个月的数据
{
DataRow[] drs = DtMonth.Select("MonthNum='" + i.ToString() + "'");//如果没有月份字段名
if (drs.Length > 0)
{
strBuilder.Append("<td bgcolor='#FFFFFF'><div align='center'>" + drs[0]["MMNGWL"].ToString() + "</div></td>");
}
else
{
//...
}
}
DataTable DtMonth = GWMonth.GetList("STCD='" + STCD + "' and Left(YM,4)='" + DateTime.Now.Year.ToString() + "'").Tables[0];//的到一年内12个月的数据
for (int i = 1; i < 13; i++)//一年中12个月的数据
{
DataRow[] drs = DtMonth.Select("YM='" DateTime.Now.Year.ToString() + "-" + i.ToString() + "'");
if (drs.Length > 0)
{
strBuilder.Append("<td bgcolor='#FFFFFF'><div align='center'>" + drs[0]["MMNGWL"].ToString() + "</div></td>");
}
else
{
//...
}
}
SkyLon.BLL.GW_MWL_S GWMonth = new GW_MWL_S();
DataTable DtMonth = GWMonth.GetList("STCD='" + STCD + "' and Left(YM,4)='" + DateTime.Now.Year.ToString() + "'").Tables[0];//的到一年内12个月的数据
for (int i = 1; i < 13; i++)//一年中12个月的数据
{
DataRow[] drs = DtMonth.Select("YM='" + DateTime.Now.Year.ToString() + "-" + i.ToString("00") + "'");
if (drs.Length > 0)
{
strBuilder.Append("<td bgcolor='#FFFFFF'><div align='center'>" + drs[0]["MMNGWL"].ToString() + "</div></td>");
}
else
{
//...
}
}
//DtMonth=GetData();//略
StringBuilder dataInfo=new StringBuilder();
for (int i = 1; i < 13;i++ )
{
//假设你的结果中有“monthNum”一列,若没有则在SQL中组织该列
DataRow[] rows = DtMonth.Select(string.Format("monthNum={0}", i));
if (rows!=null)
{
//有月份数据的(示例)
dataInfo.Append(rows[0]["MMNGWL"].ToString());
}
else
{
//无月份数据的(示例)
dataInfo.Append(string.Format("无{0}月数据",i));
}
}