crtDay oRpt = new crtDay(); string strSql = "select s.Code,s.Name,o.OnDutyDay,o.UpPassTime,(select datename(weekday,'"+sDate+"') )as WeekDate,o.OffPassTime,o.LateDuty,o.EarlyDuty,o.Abnormity,o.OT from tblStaff as s,tblOnDutyNote as o where s.Code=o.StaffID and o.OnDutyDay='" + sDate + "'";
DataSet ds = null;
string ErrMessage = "";
if (DBAccess.ExecSql(strSql, ref ds, ref ErrMessage) == 0)
{
//oRpt.Load(Application.StartupPath + " crtDay1.rpt");
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string weekDate = null;
weekDate = ds.Tables[0].Rows[i]["WeekDate"].ToString();
//string[] arry = new string[7] { "Moday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
switch (weekDate)
{
case "Moday":
weekDate = "星期一";
break;
case "Tuesday":
weekDate = "星期二";
break;
case "Wednesday":
weekDate = "星期三";
break;
case "Thursday":
weekDate = "星期四";
break;
case "Friday":
weekDate = "星期五";
break;
case "Saturday":
weekDate = "星期六";
break;
case "Sunday":
weekDate = "星期天";
break;
default:
weekDate = ds.Tables[0].Rows[i]["WeekDate"].ToString();
break;
}
int Abnormity=0;
string abnormity = null;
switch(Abnormity)
{
case 0:
abnormity = "正常";
break;
case 1:
abnormity = "迟到";
break;
case 2:
abnormity = "早退";
break;
default:
abnormity = "正常";
break;
}
string OnDutyDay = Convert.ToDateTime(ds.Tables[0].Rows[i]["OnDutyDay"]).ToShortDateString();
//DateTime UpPassTime = Convert.ToDateTime(ds.Tables[0].Rows[i]["UpPassTime"]).ToLongTimeString();
//DateTime OffPassTime = Convert.ToDateTime(ds.Tables[0].Rows[i]["OffPassTime"]).ToLongTimeString();
oRpt.ParameterFields["职工工号"].CurrentValues.AddValue(ds.Tables[0].Rows[i]["Code"].ToString());
oRpt.ParameterFields["职工姓名"].CurrentValues.AddValue(ds.Tables[0].Rows[i]["Name"].ToString());
oRpt.ParameterFields["日期"].CurrentValues.AddValue(OnDutyDay.ToString());
oRpt.ParameterFields["星期"].CurrentValues.AddValue(weekDate);
oRpt.ParameterFields["进时间"].CurrentValues.AddValue(ds.Tables[0].Rows[i]["UpPassTime"].ToString());
oRpt.ParameterFields["出时间"].CurrentValues.AddValue(ds.Tables[0].Rows[i]["OffPassTime"].ToString());
oRpt.ParameterFields["迟到时间"].CurrentValues.AddValue(ds.Tables[0].Rows[i]["LateDuty"].ToString());
oRpt.ParameterFields["早退时间"].CurrentValues.AddValue(ds.Tables[0].Rows[i]["EarlyDuty"].ToString());
oRpt.ParameterFields["状态"].CurrentValues.AddValue(abnormity);
oRpt.ParameterFields["加班"].CurrentValues.AddValue(ds.Tables[0].Rows[i]["OT"].ToString());
//oRpt.SetDataSource(ds);
}
this.crystalReportViewer1.ReportSource = oRpt;
}
else
{
this.crystalReportViewer1.Visible = false; }
}//首先从数据库中能查出3条记录:
但是现在问题是循环3次后报表上只是显示第一条记录
不知道什么原因有谁知道吗
DataSet ds = null;
string ErrMessage = "";
if (DBAccess.ExecSql(strSql, ref ds, ref ErrMessage) == 0)
{
//oRpt.Load(Application.StartupPath + " crtDay1.rpt");
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string weekDate = null;
weekDate = ds.Tables[0].Rows[i]["WeekDate"].ToString();
//string[] arry = new string[7] { "Moday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
switch (weekDate)
{
case "Moday":
weekDate = "星期一";
break;
case "Tuesday":
weekDate = "星期二";
break;
case "Wednesday":
weekDate = "星期三";
break;
case "Thursday":
weekDate = "星期四";
break;
case "Friday":
weekDate = "星期五";
break;
case "Saturday":
weekDate = "星期六";
break;
case "Sunday":
weekDate = "星期天";
break;
default:
weekDate = ds.Tables[0].Rows[i]["WeekDate"].ToString();
break;
}
int Abnormity=0;
string abnormity = null;
switch(Abnormity)
{
case 0:
abnormity = "正常";
break;
case 1:
abnormity = "迟到";
break;
case 2:
abnormity = "早退";
break;
default:
abnormity = "正常";
break;
}
string OnDutyDay = Convert.ToDateTime(ds.Tables[0].Rows[i]["OnDutyDay"]).ToShortDateString();
//DateTime UpPassTime = Convert.ToDateTime(ds.Tables[0].Rows[i]["UpPassTime"]).ToLongTimeString();
//DateTime OffPassTime = Convert.ToDateTime(ds.Tables[0].Rows[i]["OffPassTime"]).ToLongTimeString();
oRpt.ParameterFields["职工工号"].CurrentValues.AddValue(ds.Tables[0].Rows[i]["Code"].ToString());
oRpt.ParameterFields["职工姓名"].CurrentValues.AddValue(ds.Tables[0].Rows[i]["Name"].ToString());
oRpt.ParameterFields["日期"].CurrentValues.AddValue(OnDutyDay.ToString());
oRpt.ParameterFields["星期"].CurrentValues.AddValue(weekDate);
oRpt.ParameterFields["进时间"].CurrentValues.AddValue(ds.Tables[0].Rows[i]["UpPassTime"].ToString());
oRpt.ParameterFields["出时间"].CurrentValues.AddValue(ds.Tables[0].Rows[i]["OffPassTime"].ToString());
oRpt.ParameterFields["迟到时间"].CurrentValues.AddValue(ds.Tables[0].Rows[i]["LateDuty"].ToString());
oRpt.ParameterFields["早退时间"].CurrentValues.AddValue(ds.Tables[0].Rows[i]["EarlyDuty"].ToString());
oRpt.ParameterFields["状态"].CurrentValues.AddValue(abnormity);
oRpt.ParameterFields["加班"].CurrentValues.AddValue(ds.Tables[0].Rows[i]["OT"].ToString());
//oRpt.SetDataSource(ds);
}
this.crystalReportViewer1.ReportSource = oRpt;
}
else
{
this.crystalReportViewer1.Visible = false; }
}//首先从数据库中能查出3条记录:
但是现在问题是循环3次后报表上只是显示第一条记录
不知道什么原因有谁知道吗
解决方案 »
- C#发送邮件乱码的问题
- ASP.NET关于cookies的问题.
- 谁给个Repeater控件分页代码,支持海量数据的高效分页.
- |M| 刚才把近来的贴子结了的没有细看只是一般的平分 大家要是有意见可以给我留贴
- ASP。NET怎么连接SQL SERVER?
- asp.net做的网站上传后错误 急!!!
- 关于用户控件的问题
- 大家来讨论下asp.net大型网站的部署和维护更新,参与者有分!
- 关于用vb script实现焦点问题?
- ==={}==>在一个下框框的选择项改变时,另一个也发生相应的变化,想着简单,怎么在不发生页面刷新是机时更新呢?-->
- 求几个个正则表达式
- |M| 还是学习控件的问题,我想给要验证的控件添加onfocus onblur 事件
现在问题是怎么做呢?
放入一个DataSet中,在绑定给报表
难道你没有用.xsd么?
为什么要用参数字段啊!
dp.Parameter.Add("FBaseInfoID",user.userID);
DataSet ds1 = dp.DataSetSQL();//将查询结果返回到DataSet中
R_C102 R_D_C102 = new R_C102(); //定义报表事例控件用于绑定数据,没创建一个报表文件就是创建了一个报表文件类
R_D_C102.SetDataSource(ds1); //将数据(ds1)绑定到报表文件上
CrystalReportViewer1.ReportSource = R_D_C102;
CrystalReportViewer1.DataBind();
--------------------------------
如果你想改变 ds1的Table中的值你循环变例修改就可以了
例如
for(int i=0;i<ds1.Tables[0].rows.count;i++)
{
if (ds1.Tables[0].rows[i]["星期"].tostring() == 1)
{
ds1.Tables[0].rows[i]["星期"]="星期一";
}
....
}
一定要用那个吗
2005下要用么
第一次接触这个东西