private bool BindData()
{
System.DateTime dt=System.DateTime.Now;
bool bSuccess=false;
int deptcount=sDepartmentName.Length;
int rowcount=ds_data.Tables["makecharge"].Rows.Count;
string sSubject=string.Empty;//科目
decimal dDepTotal=0;
string sBg=string.Empty;//
decimal dAllTotal=0;
decimal dAttribive=0;
decimal dUnAttribive=0;
if (deptcount<1)
{
this.body.InnerHtml="<font class=fontstyle1>『根據您選擇的條件系統沒有找到任何數據!』</font>";
bSuccess=true;
return bSuccess;
}
//add table head
str_body="<table cellspacing=0 cellpadding=4 width=100% bordercolor=Olive rules=cols border=1 style=border-color:Olive;border-width:1px;border-style:solid;height:30px;width:100%;border-collapse:collapse;font-family:Verdana;font-size:8pt;>";
str_body+="<tr><td colspan="+Convert.ToString(deptcount*3+2)+" align=center style=border-bottom:0px;><font class=fontstyle1>ETC責任利潤中心制費明細表</font></td></tr>";
str_body+="<tr><td colspan="+Convert.ToString(deptcount*3+2)+" align=center style=border-bottom:0px;><b>"+this.ddl_year.SelectedItem.Text+"年"+this.ddl_month.SelectedItem.Text+"月</b></td></tr>"; //Caption
str_body+="<tr><td rowspan=2 valign=center widht=212px align=center style="+"\""+"border-top:solid 1px Olive;border-bottom:solid 1px Olive;"+"\""+">科 目</td>";
for(int i=0;i<deptcount;i++)
{
str_body+="<td colspan=3 align=center bgcolor=ivory style="+"\""+"color:#7B8C9C;border-top:solid 1px Olive;border-bottom:solid 1px Olive;"+"\""+"><b>"+sDepartmentName[i].ToString()+"</b></td>";
}
str_body+="<td rowspan=2 valign=center align=center style="+"\""+"border-top:solid 1px Olive;border-bottom:solid 1px Olive;"+"\""+">合 計</td></tr><tr>";
for(int i=0;i<deptcount;i++)
{
str_body+="<td align=center style="+"\""+"border-bottom:solid 1px Olive;"+"\""+"width=123px>可歸檔</td><td align=center style="+"\""+"border-bottom:solid 1px Olive;"+"\""+"width=123px>不可歸檔</td><td align=center style="+"\""+"border-bottom:solid 1px Olive;"+"\""+"width=123px>小 計</td>";
}
str_body+="</tr>"; //add table data
for(int i=0;i<rowcount;i++)
{
dDepTotal=Convert.ToDecimal((ds_data.Tables["makecharge"].Rows[i]["all_total"].ToString()==""?"0":ds_data.Tables["makecharge"].Rows[i]["all_total"].ToString()));
dAllTotal+=dDepTotal;
sSubject=ds_data.Tables["makecharge"].Rows[i]["account_nm"].ToString();
if (i%2==0)
{
sBg="bgcolor=#efebde";
}
else
{
sBg="";
}
str_body+="<tr "+sBg+"><td width=212px>"+sSubject+"</td>"; for(int j=2;j<deptcount*3;j=j+3)///////////////////////加入對應部門資料
{
dAttribive=Convert.ToDecimal((ds_data.Tables["makecharge"].Rows[i][j].ToString()==""?"0":ds_data.Tables["makecharge"].Rows[i][j].ToString()));
dUnAttribive=Convert.ToDecimal((ds_data.Tables["makecharge"].Rows[i][j+1].ToString()==""?"0":ds_data.Tables["makecharge"].Rows[i][j+1].ToString()));
dDepTotal=Convert.ToDecimal((ds_data.Tables["makecharge"].Rows[i][j+2].ToString()==""?"0":ds_data.Tables["makecharge"].Rows[i][j+2].ToString()));
str_body+="<td align=right width=123px> "+dAttribive.ToString("¥#,##0.00");
str_body+="</td><td align=right width=123px> "+dUnAttribive.ToString("¥#,##0.00");
str_body+="</td><td align=right width=123px> "+dDepTotal.ToString("¥#,##0.00")+"</td>";
}
str_body+="<td align=right><b> "+Convert.ToDecimal(ds_data.Tables["makecharge"].Rows[i]["all_total"].ToString()==""?"0":ds_data.Tables["makecharge"].Rows[i]["all_total"].ToString()).ToString("¥#,##0.00")+"</b></td>";
str_body+="</tr>";
} //add cost total
str_body+="<tr><td width=212px align=center style="+"\""+"border-top:solid 1px Olive;"+"\""+">費用合計:</td>";
for(int i=0;i<deptcount*3;i++)
{
str_body+="<td align=right style="+"\""+"border-top:solid 1px Olive;"+"\""+"><b>"+Convert.ToDecimal(sDepartmentTotal[i]==""?"0":sDepartmentTotal[i]).ToString("¥#,##0.00")+"</b></td>";
}
str_body+="<td align=right style="+"\""+"border-top:solid 1px Olive;"+"\""+"><b> "+dAllTotal.ToString("¥#,##0.00")+"</b></td></tr>";//合計
str_body+="</table>"; int ss=(int)(DateTime.Now-dt).TotalMilliseconds;
this.body.InnerHtml=str_body;
為什麼才400多條記錄就用了40多秒啊,望高人指點一二。
{
System.DateTime dt=System.DateTime.Now;
bool bSuccess=false;
int deptcount=sDepartmentName.Length;
int rowcount=ds_data.Tables["makecharge"].Rows.Count;
string sSubject=string.Empty;//科目
decimal dDepTotal=0;
string sBg=string.Empty;//
decimal dAllTotal=0;
decimal dAttribive=0;
decimal dUnAttribive=0;
if (deptcount<1)
{
this.body.InnerHtml="<font class=fontstyle1>『根據您選擇的條件系統沒有找到任何數據!』</font>";
bSuccess=true;
return bSuccess;
}
//add table head
str_body="<table cellspacing=0 cellpadding=4 width=100% bordercolor=Olive rules=cols border=1 style=border-color:Olive;border-width:1px;border-style:solid;height:30px;width:100%;border-collapse:collapse;font-family:Verdana;font-size:8pt;>";
str_body+="<tr><td colspan="+Convert.ToString(deptcount*3+2)+" align=center style=border-bottom:0px;><font class=fontstyle1>ETC責任利潤中心制費明細表</font></td></tr>";
str_body+="<tr><td colspan="+Convert.ToString(deptcount*3+2)+" align=center style=border-bottom:0px;><b>"+this.ddl_year.SelectedItem.Text+"年"+this.ddl_month.SelectedItem.Text+"月</b></td></tr>"; //Caption
str_body+="<tr><td rowspan=2 valign=center widht=212px align=center style="+"\""+"border-top:solid 1px Olive;border-bottom:solid 1px Olive;"+"\""+">科 目</td>";
for(int i=0;i<deptcount;i++)
{
str_body+="<td colspan=3 align=center bgcolor=ivory style="+"\""+"color:#7B8C9C;border-top:solid 1px Olive;border-bottom:solid 1px Olive;"+"\""+"><b>"+sDepartmentName[i].ToString()+"</b></td>";
}
str_body+="<td rowspan=2 valign=center align=center style="+"\""+"border-top:solid 1px Olive;border-bottom:solid 1px Olive;"+"\""+">合 計</td></tr><tr>";
for(int i=0;i<deptcount;i++)
{
str_body+="<td align=center style="+"\""+"border-bottom:solid 1px Olive;"+"\""+"width=123px>可歸檔</td><td align=center style="+"\""+"border-bottom:solid 1px Olive;"+"\""+"width=123px>不可歸檔</td><td align=center style="+"\""+"border-bottom:solid 1px Olive;"+"\""+"width=123px>小 計</td>";
}
str_body+="</tr>"; //add table data
for(int i=0;i<rowcount;i++)
{
dDepTotal=Convert.ToDecimal((ds_data.Tables["makecharge"].Rows[i]["all_total"].ToString()==""?"0":ds_data.Tables["makecharge"].Rows[i]["all_total"].ToString()));
dAllTotal+=dDepTotal;
sSubject=ds_data.Tables["makecharge"].Rows[i]["account_nm"].ToString();
if (i%2==0)
{
sBg="bgcolor=#efebde";
}
else
{
sBg="";
}
str_body+="<tr "+sBg+"><td width=212px>"+sSubject+"</td>"; for(int j=2;j<deptcount*3;j=j+3)///////////////////////加入對應部門資料
{
dAttribive=Convert.ToDecimal((ds_data.Tables["makecharge"].Rows[i][j].ToString()==""?"0":ds_data.Tables["makecharge"].Rows[i][j].ToString()));
dUnAttribive=Convert.ToDecimal((ds_data.Tables["makecharge"].Rows[i][j+1].ToString()==""?"0":ds_data.Tables["makecharge"].Rows[i][j+1].ToString()));
dDepTotal=Convert.ToDecimal((ds_data.Tables["makecharge"].Rows[i][j+2].ToString()==""?"0":ds_data.Tables["makecharge"].Rows[i][j+2].ToString()));
str_body+="<td align=right width=123px> "+dAttribive.ToString("¥#,##0.00");
str_body+="</td><td align=right width=123px> "+dUnAttribive.ToString("¥#,##0.00");
str_body+="</td><td align=right width=123px> "+dDepTotal.ToString("¥#,##0.00")+"</td>";
}
str_body+="<td align=right><b> "+Convert.ToDecimal(ds_data.Tables["makecharge"].Rows[i]["all_total"].ToString()==""?"0":ds_data.Tables["makecharge"].Rows[i]["all_total"].ToString()).ToString("¥#,##0.00")+"</b></td>";
str_body+="</tr>";
} //add cost total
str_body+="<tr><td width=212px align=center style="+"\""+"border-top:solid 1px Olive;"+"\""+">費用合計:</td>";
for(int i=0;i<deptcount*3;i++)
{
str_body+="<td align=right style="+"\""+"border-top:solid 1px Olive;"+"\""+"><b>"+Convert.ToDecimal(sDepartmentTotal[i]==""?"0":sDepartmentTotal[i]).ToString("¥#,##0.00")+"</b></td>";
}
str_body+="<td align=right style="+"\""+"border-top:solid 1px Olive;"+"\""+"><b> "+dAllTotal.ToString("¥#,##0.00")+"</b></td></tr>";//合計
str_body+="</table>"; int ss=(int)(DateTime.Now-dt).TotalMilliseconds;
this.body.InnerHtml=str_body;
為什麼才400多條記錄就用了40多秒啊,望高人指點一二。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货