如何在水晶报表中打印日期时间选择器

本文关键字:打印 日期 时间 选择器 报表 水晶 | 更新日期: 2023-09-27 18:04:45

DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(String));      
dt.Columns.Add("Class", typeof(String));
dt.Columns.Add("RollNo", typeof(String));
foreach (DataGridViewRow dgr in dgv_Student.Rows)
{
  dt.Rows.Add(dgr.Cells["Name"].Value, dgr.Cells["Class"].Value, dgr.Cells["RollNo"].Value);
 }
        ds.Tables.Add(dt); 
        CrystalReport1 cr = new CrystalReport1 ();          
        cr.SetDataSource(ds);

这是为datagridview水晶报告。我还想将dtpFrom和dtpTo显示为水晶报表的日期选择器值。

如何在水晶报表中打印日期时间选择器

首先通过Crystal Reports -> 插入 -> Text Object在Crystal report的某个地方添加Text Object。文本对象的默认名称是Text1。你可以在文本对象属性下看到。如果你愿意,你可以改这个名字。现在在你的c#代码中,你需要传递Time的值。

的例子:

ReportDocument rptDoc = new ReportDocument();
protected void Page_Init(object sender, EventArgs e)
{
    // Load the report path
    string reportPath = Server.MapPath("~/CrystalReportTime.rpt");
    rptDoc.Load(reportPath);
    CrystalReportViewer1.ReportSource = rptDoc; 
}
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string reportPath = Server.MapPath("~/CrystalReportTime.rpt");
        rptDoc.Load(reportPath);
        CrystalReportViewer1.ReportSource = rptDoc;
    }
    DataSet ds = new DataSet();
    DataTable dt = new DataTable();
    dt.Columns.Add("Name", typeof(String));      
    dt.Columns.Add("Class", typeof(String));
    dt.Columns.Add("RollNo", typeof(String));
    foreach (DataGridViewRow dgr in dgv_Student.Rows)
    {
      dt.Rows.Add(dgr.Cells["Name"].Value, dgr.Cells["Class"].Value, dgr.Cells["RollNo"].Value);
    }
    ds.Tables.Add(dt); 
    rptDoc.SetDataSource(ds);
    // Pass the time to the Crystal Reports text object
    CrystalDecisions.CrystalReports.Engine.TextObject Text1;
    Text1 = rptDoc.ReportDefinition.ReportObjects["Text1"] as TextObject;
    Text1.Text = "Time from " + String.Format("{0:MMMM dd, yyyy}", Convert.ToDateTime(dtpFrom)) + " to " + String.Format("{0:MMMM dd, yyyy}", Convert.ToDateTime(dtpTo));
}
protected void Page_UnLoad(object sender, EventArgs e)
{
    this.CrystalReportViewer1.Dispose();
    this.CrystalReportViewer1 = null;
    rptDoc.Close();
    rptDoc.Dispose();
    rptDoc = null;
    GC.Collect();
}