本文介绍了如何在vs2010中将数据表绑定到crystal report viewer工具的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
protected void btnreport_Click(object sender, EventArgs e)
{
try
{
imeiall = "imei_" + bllgps.getimeifromvehicleno(DropDownList1.SelectedItem.ToString());
count = 1;
//Refresh();
fromT = Convert.ToDateTime(txt_Fromdate.Text);
toT = Convert.ToDateTime(Txt_todate.Text);
TimeSpan ts = toT.Subtract(fromT);
int days = Convert.ToInt32(ts.Days.ToString());
int eday = days + 1;
dayureporttable();
for (i = 0; i <= days; i++)
{
if (i == 0)
{
dt1 = fromT.AddDays(i);
dt2 = fromT.AddDays(i + 1);
}
if (i != 0)
{
dt1 = fromT.AddDays(i);
dt2 = fromT.AddDays(i + 1);
}
//string dtMINF = "";
//string dtMAXF = "";
drMIN = bllgps.FillreportMIN(dt1, dt2, imeiall);
drMAX = bllgps.FillreportMAX(dt1, dt2, imeiall);
if (drMIN.Read())
{
starttime = drMIN[0].ToString();
lat = drMIN[1].ToString();
longt = drMIN[2].ToString();
}
if (drMAX.Read())
{
endtime = drMAX[0].ToString();
lat1 = drMAX[1].ToString();
longt1 = drMAX[2].ToString();
}
if (bllgps.dayexisting(dt1, imeiall) != 0)
{
string KMS = bllgps.DISTANCETRAVELLED(dt1, dt2, imeiall);
float finalkms = float.Parse(KMS) / 10;
DataRow row1;
dtDR = (DataTable)Session["Routine1"];
row1 = dtDR.NewRow();
row1["VEHICLENO"] = DropDownList1.SelectedItem.ToString();
row1["FROMDATE"] = starttime;
row1["TODATE"] = endtime;
row1["DISTRAVELLED-(Kms)"] = Convert.ToString(finalkms);
string source = getlocationfromatlong(lat, longt);
string destination = getlocationfromatlong(lat, longt);
row1["START POINT"] = getlocationfromatlong(lat, longt);
row1["DESTINATION"] = getlocationfromatlong(lat1, longt1);
totmlsf = float.Parse(KMS) + totmlsf;
dtDR.Rows.Add(row1);
Session["Routine1"] = dtDR;
lat = "";
longt = "";
lat1 = "";
longt = "";
drMIN.Dispose();
drMAX.Dispose();
}
}
label5.Text = Convert.ToString(totmlsf / 10);
dtDRP = (DataTable)Session["Routine1"];
CrystalReportViewer1.Visible = true;
CrystalReportViewer1.ReportSource = dtDRP;
CrystalReportViewer1.DataBind();
}
catch (Exception ece)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), " ", "alert('OK'" + txt_Fromdate.Text + " 'and' " + Txt_todate.Text + ")", true);
}
}
以上代码包含许多生成报告的函数和方法。
我能够将数据绑定到gridview,但我无法将数据绑定到水晶报表查看器,所以请帮助我解决问题。
谢谢。
The above code consist of many functions and methods to generate a report.
I am able to bind data to gridview, but i am unable to bind data to crystal report viewer so kindly help me to sort out the issue.
Thank you.
推荐答案
protected void btnreport_Click(object sender, EventArgs e)
{
try
{
imeiall = "imei_" + bllgps.getimeifromvehicleno(DropDownList1.SelectedItem.ToString());
count = 1;
//Refresh();
fromT = Convert.ToDateTime(txt_Fromdate.Text);
toT = Convert.ToDateTime(Txt_todate.Text);
TimeSpan ts = toT.Subtract(fromT);
int days = Convert.ToInt32(ts.Days.ToString());
int eday = days + 1;
dayureporttable();
for (i = 0; i <= days; i++)
{
if (i == 0)
{
dt1 = fromT.AddDays(i);
dt2 = fromT.AddDays(i + 1);
}
if (i != 0)
{
dt1 = fromT.AddDays(i);
dt2 = fromT.AddDays(i + 1);
}
//string dtMINF = "";
//string dtMAXF = "";
drMIN = bllgps.FillreportMIN(dt1, dt2, imeiall);
drMAX = bllgps.FillreportMAX(dt1, dt2, imeiall);
if (drMIN.Read())
{
starttime = drMIN[0].ToString();
lat = drMIN[1].ToString();
longt = drMIN[2].ToString();
}
if (drMAX.Read())
{
endtime = drMAX[0].ToString();
lat1 = drMAX[1].ToString();
longt1 = drMAX[2].ToString();
}
if (bllgps.dayexisting(dt1, imeiall) != 0)
{
string KMS = bllgps.DISTANCETRAVELLED(dt1, dt2, imeiall);
float finalkms = float.Parse(KMS) / 10;
DataRow row1;
dtDR = (DataTable)Session["Routine1"];
row1 = dtDR.NewRow();
row1["VEHICLENO"] = DropDownList1.SelectedItem.ToString();
row1["FROMDATE"] = starttime;
row1["TODATE"] = endtime;
row1["DISTRAVELLED-(Kms)"] = Convert.ToString(finalkms);
string source = getlocationfromatlong(lat, longt);
string destination = getlocationfromatlong(lat, longt);
row1["START POINT"] = getlocationfromatlong(lat, longt);
row1["DESTINATION"] = getlocationfromatlong(lat1, longt1);
totmlsf = float.Parse(KMS) + totmlsf;
dtDR.Rows.Add(row1);
Session["Routine1"] = dtDR;
lat = "";
longt = "";
lat1 = "";
longt = "";
drMIN.Dispose();
drMAX.Dispose();
}
}
label5.Text = Convert.ToString(totmlsf / 10);
dtDRP = (DataTable)Session["Routine1"];
CrystalReport1 CR1=new CrystalReport1();
CR1.SetDataSource=dtDRp;
CrystalReportViewer1.Visible = true;
CrystalReportViewer1.ReportSource = CR1;
}
catch (Exception ece)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), " ", "alert('OK'" + txt_Fromdate.Text + " 'and' " + Txt_todate.Text + ")", true);
}
}
你不需要绑定水晶报告。
只需将报告绑定到水晶报告,然后在报告查看器上显示。
。
You just dont''t need to Bind Crystal Report.
Just Bind the report to crystal report and then show it on report viewer.
.
这篇关于如何在vs2010中将数据表绑定到crystal report viewer工具的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!