|
[问题]循环填充表格”错位”啦,求救...(.Net)
说下具体问题:总共12个月份和4个季度.每一季度是本季度的3个月的数据和!8列数据. 16行(12+4)...
例如:我数据库里有1月,2月,3月,8月的数据
填充时,1月是在第一行,正确的.可2月却被填充在5月份的那一行里!3月被填充到6月,8月的被填充到11月那一行!!
郁闷咯....
//填充表格
int k = 0;
for (int i = 1; i < 17; i++)
{
for (int j = 1; j < 9; j++)
{
if (i == 4 || i == 8 || i == 12 || i == 16)
{
this.Table1.Rows.Cells[j].Text = Convert.ToString(decimal.Parse(this.Table1.Rows[i - 3].Cells[j].Text) + decimal.Parse(this.Table1.Rows[i - 2].Cells[j].Text) + decimal.Parse(this.Table1.Rows[i - 1].Cells[j].Text));
}
else
{
if (k < dt.Rows.Count)
{
this.Table1.Rows.Cells[j].Text = dt.Rows[k][j + 2].ToString();
}
}
}
if (i != 4 && i != 8 && i != 12 && i != 16)
{
k++;
}
}
//按月来查询,是否缺少月份
for (int i = 1; i < 13; i++)
{
int k = 0;//记录使用
for (int j = 0; j < dt.Rows.Count; j++)
{
if (i.ToString() == dt.Rows[j][2].ToString())
{
k++;
break;
}
}
if (k == 0)
{
DataRow dr = dt.NewRow();
dr[0] = dept_order1;
dr[1] = syear1.ToString();
dr[2] = i.ToString();
dr[3] = 0;
dr[4] = 0;
dr[5] = 0;
dr[6] = 0;
dr[7] = 0;
dr[8] = 0;
dr[9] = 0;
dr[10] = 0;
dt.Rows.Add(dr);
}
}
dept_order1,是部门!按年和部门查询数据的!!此中的if (i.ToString() == dt.Rows[j][2].ToString())数字2是代表数据库中我从第3列开始提取的!!!
表格中的阿拉伯数字,是我数据库的值,1,2,3,5,8分别是一月,二月,三月,五月,八月的值!另外一个数字5,是在季度里,是求的和.可那个2,3是应该在二月,三月的,却在五月,六月里咯,数字5在八月了,数字8在十一月咯,应该分别对应月份才对!!
兄弟们,帮忙下咯... |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|