如何在vs2010中将数据表绑定到crystal report viewer工具 [英] How to bind datatable to crystal report viewer tool in vs2010

查看:45
本文介绍了如何在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工具的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆