求大神过来指点 把循环次数改成 dataset中table的行数 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以这样for (i = 0; i < 12; i++)这里别循环12个月你直接循环你的数据集这样都有数据了。你在循环判断下那个月没没数据补充下0,在输出你的图表控件就可以了。 ds.Tables[0].Rows[i]["Months"] != "" 改为 ds.Tables[0].Rows[i]["Months"] !=null 一般是 先判断是否为null 在判断是否为“” string strsql = "select sum(Months_jihua) Months_jihua,sum(HJ) HJ,Months from s_zhgl_jihua_fysj where years=to_char(getdate(),'yyyy') group by Months order by Months asc "; DataSet ds = hp.ExecuteDataSet(strsql); int lastmonths = 1; int i; for (i = 0; i < ds.Tables[0].Rows.Count; i++) { //if (i == ds.Tables[0].Rows.Count - 1) {lastmonths= ds.Tables[0].Rows[i]["Months"].ToString();} //if (i == ds.Tables[0].Rows.Count - 1) //{ lastmonths = Convert.ToInt32(ds.Tables[0].Rows[i]["Months"]); } int months = lastmonths + i; if (ds.Tables[0].Rows[i]["Months"] != null) { string Months = (ds.Tables[0].Rows[i]["Months"].ToString() + "月"); string MONTHS_JIHUA = (ds.Tables[0].Rows[i]["MONTHS_JIHUA"].ToString()); string HJ = (ds.Tables[0].Rows[i]["HJ"].ToString()); Chart1.Series[0].Points.AddXY(Months, MONTHS_JIHUA); Chart1.Series[1].Points.AddXY(Months, HJ); Chart1.Series[2].Points.AddXY(Months, MONTHS_JIHUA); Chart1.Series[3].Points.AddXY(Months, HJ); } else { string month = (months).ToString() + "月"; Chart1.Series[0].Points.AddXY(month, "0"); Chart1.Series[1].Points.AddXY(month, "0"); Chart1.Series[2].Points.AddXY(month, "0"); Chart1.Series[3].Points.AddXY(month, "0"); }现在改成这样 已有的月都会填充 但是怎么把没有的月份设为空? 怎么循环判断出没有的月份? 你是想在界面上显示12列?如果是这样的话 1.创建datatable 添加12列2.循环你过去的dataset 12次3.有数据的直接添加到 创建的datatable 美数据的new datarow 添加到创建的datatable 额 怎么把有数据的直接添加到创建的datatable 没数据的new datarow 添加到创建的datatable 不知道怎么实现创建datatable 添加12列,有数据的直接添加到 创建的datatable 美数据的new datarow 添加到创建的datatable,或者是循环判断下那个月没没数据补充下0 不知道怎么做 http://www.cnblogs.com/xiongeee/archive/2007/03/22/683693.html int lastmonths=1; for (int i = 0; i < 12; i++) { //months < ds.Tables[0].Rows.Count && months < Convert.ToInt32(ds.Tables[0].Rows[i]["T_Months"])//if //if (i == ds.Tables[0].Rows.Count - 1) {lastmonths= ds.Tables[0].Rows[i]["Months"].ToString();} int months = lastmonths + i; string str_m = " select sum(tcf) tcf,sum(lltcf) lltcf,to_char(yhdate,'mm') t_months from s_zhgl_Vehicle_yh "; str_m += " where to_char(yhdate,'yyyy')=to_char(sysdate,'yyyy') and to_char(yhdate,'mm')='" + months + "' group by to_char(yhdate,'mm') order by to_char(yhdate,'mm') asc "; DataSet ds_m = hp.ExecuteDataSet(str_m); if (ds_m.Tables[0].Rows.Count > 0) { string Months = (ds_m.Tables[0].Rows[0]["T_Months"].ToString() + "月"); string LLTCF = (ds_m.Tables[0].Rows[0]["LLTCF"].ToString()); string TCF = (ds_m.Tables[0].Rows[0]["TCF"].ToString()); Chart1.Series[0].Points.AddXY(Months, LLTCF); Chart1.Series[1].Points.AddXY(Months, TCF); Chart1.Series[2].Points.AddXY(Months, LLTCF); Chart1.Series[3].Points.AddXY(Months, TCF); } else { string month = (months + 1).ToString() + "月"; string MONTHS_JIHUA = "0"; string HJ = "0"; Chart1.Series[0].Points.AddXY(month, MONTHS_JIHUA); Chart1.Series[1].Points.AddXY(month, HJ); Chart1.Series[2].Points.AddXY(month, MONTHS_JIHUA); Chart1.Series[3].Points.AddXY(month, HJ); }搞定了 留下解决后的 ASP.NET 加密 ======== 急用,高手请进,求C#一正则 关于开发遇到的问题 大师们,怎么让代码自动加 #region 关于GridView绑定数据源的问题 |M| 幕白兄还是没有办法,请你看看 asp.net ajax 白痴的使用问题?请教 如何让弹出的窗口右上角的最大化按钮灰化? 如何用*.snk进行强名? 关于 文本 换行问题,,怎么解决,,很腻人 mvc nhibernate 在Repeater中怎么给select赋值
DataSet ds = hp.ExecuteDataSet(strsql);
int lastmonths = 1;
int i;
for (i = 0; i < ds.Tables[0].Rows.Count; i++)
{
//if (i == ds.Tables[0].Rows.Count - 1) {lastmonths= ds.Tables[0].Rows[i]["Months"].ToString();}
//if (i == ds.Tables[0].Rows.Count - 1)
//{ lastmonths = Convert.ToInt32(ds.Tables[0].Rows[i]["Months"]); }
int months = lastmonths + i;
if (ds.Tables[0].Rows[i]["Months"] != null)
{
string Months = (ds.Tables[0].Rows[i]["Months"].ToString() + "月");
string MONTHS_JIHUA = (ds.Tables[0].Rows[i]["MONTHS_JIHUA"].ToString());
string HJ = (ds.Tables[0].Rows[i]["HJ"].ToString());
Chart1.Series[0].Points.AddXY(Months, MONTHS_JIHUA);
Chart1.Series[1].Points.AddXY(Months, HJ);
Chart1.Series[2].Points.AddXY(Months, MONTHS_JIHUA);
Chart1.Series[3].Points.AddXY(Months, HJ);
}
else
{
string month = (months).ToString() + "月";
Chart1.Series[0].Points.AddXY(month, "0");
Chart1.Series[1].Points.AddXY(month, "0");
Chart1.Series[2].Points.AddXY(month, "0");
Chart1.Series[3].Points.AddXY(month, "0");
}
现在改成这样 已有的月都会填充 但是怎么把没有的月份设为空? 怎么循环判断出没有的月份?
1.创建datatable 添加12列
2.循环你过去的dataset 12次
3.有数据的直接添加到 创建的datatable 美数据的new datarow 添加到创建的datatable
http://www.cnblogs.com/xiongeee/archive/2007/03/22/683693.html
for (int i = 0; i < 12; i++)
{
//months < ds.Tables[0].Rows.Count && months < Convert.ToInt32(ds.Tables[0].Rows[i]["T_Months"])//if
//if (i == ds.Tables[0].Rows.Count - 1) {lastmonths= ds.Tables[0].Rows[i]["Months"].ToString();}
int months = lastmonths + i;
string str_m = " select sum(tcf) tcf,sum(lltcf) lltcf,to_char(yhdate,'mm') t_months from s_zhgl_Vehicle_yh ";
str_m += " where to_char(yhdate,'yyyy')=to_char(sysdate,'yyyy') and to_char(yhdate,'mm')='" + months + "' group by to_char(yhdate,'mm') order by to_char(yhdate,'mm') asc ";
DataSet ds_m = hp.ExecuteDataSet(str_m);
if (ds_m.Tables[0].Rows.Count > 0)
{
string Months = (ds_m.Tables[0].Rows[0]["T_Months"].ToString() + "月");
string LLTCF = (ds_m.Tables[0].Rows[0]["LLTCF"].ToString());
string TCF = (ds_m.Tables[0].Rows[0]["TCF"].ToString());
Chart1.Series[0].Points.AddXY(Months, LLTCF);
Chart1.Series[1].Points.AddXY(Months, TCF);
Chart1.Series[2].Points.AddXY(Months, LLTCF);
Chart1.Series[3].Points.AddXY(Months, TCF);
}
else
{
string month = (months + 1).ToString() + "月";
string MONTHS_JIHUA = "0";
string HJ = "0";
Chart1.Series[0].Points.AddXY(month, MONTHS_JIHUA);
Chart1.Series[1].Points.AddXY(month, HJ);
Chart1.Series[2].Points.AddXY(month, MONTHS_JIHUA);
Chart1.Series[3].Points.AddXY(month, HJ);
}
搞定了 留下解决后的