none
关于ReportView数据筛选的问题。 RRS feed

  • 问题

  • using System;
    
    using System.Collections.Generic;
    
    using System.ComponentModel;
    
    using System.Data;
    
    using System.Drawing;
    
    using System.Text;
    
    using System.Windows.Forms;
    
    using DevExpress.XtraEditors;
    
    using System.Data.SqlClient;
    
    using Microsoft.Reporting.WinForms;
    
    
    
    namespace WindowsFormsApplication7
    
    {
    
        public partial class XtraForm1 : DevExpress.XtraEditors.XtraForm
    
        {
    
            public XtraForm1()
    
            {
    
                InitializeComponent();
    
            }
    
    
    
            private void XtraForm1_Load(object sender, EventArgs e)
    
            {
    
                // TODO: 这行代码将数据加载到表“defectiveDataSet.DEFDATA”中。您可以根据需要移动或移除它。
    
                //this.DEFDATATableAdapter.Fill(this.defectiveDataSet.DEFDATA);
    
                rptDetail.Visible = false;
    
            }
    
            private DataTable LoadData()
    
            {
    
                SqlConnection Conn = new SqlConnection("Server=Jim;Database=defectiveData;User id=sa;password=colday");
    
                SqlCommand cmd = new SqlCommand(string.Format("select * from DEFDATA where DEFDATE between '{0}' and '{1}'",
    
                    FromDate.Text.ToString(), ToDate.Text.ToString()), Conn);
    
                SqlDataAdapter adp = new SqlDataAdapter(cmd);
    
                DataSet ds = new DataSet();
    
                adp.SelectCommand.Connection = Conn;
    
                adp.Fill(ds);
    
                return ds.Tables[0];
    
            }
    
            private void simpleButton1_Click(object sender, EventArgs e)
    
            {
    
                rptDetail.Visible = true;
    
                this.rptDetail.LocalReport.DataSources.Add(new ReportDataSource("defectiveDataSet_DEFDATA", LoadData()));
    
                this.rptDetail.LocalReport.ReportEmbeddedResource = "WindowsFormsApplication7.Report1.rdlc";
    
                this.rptDetail.RefreshReport();
    
            }
    
        }
    
    }
    
    

    上面是我写的一个报表,在报表中想做的点击button 插入选择的日期范围到sql语句中去筛选数据。

    SqlCommand cmd = new SqlCommand(string.Format("select * from DEFDATA where DEFDATE between '{0}' and '{1}'",
    
                    FromDate.Text.ToString(), ToDate.Text.ToString()), Conn);
    
    

    上面这句话中的短点cmd 生成的sql语句 在sql server里面查询能查询出正确的数据,但是在debug的时候,就什么数据都不显示。

    请懂的朋友指点一下。

    2010年3月22日 8:35

答案

  •  return ds.Tables[0]; 看看这个table的rows.count是多少?

    如果有数据说明你报表显示的时候数据源设置有问题。


    family as water

     

    rows.count =1 而数据库也是有一条数据的。

    数据源?我重新试试。


    =1说明sql查询是ok的,估计是报表显示问题。仔细检查一下
    family as water
    • 已标记为答案 Jimcolday 2010年3月25日 6:42
    2010年3月22日 9:55

全部回复

  •  return ds.Tables[0]; 看看这个table的rows.count是多少?

    如果有数据说明你报表显示的时候数据源设置有问题。


    family as water
    2010年3月22日 9:47
  •  return ds.Tables[0]; 看看这个table的rows.count是多少?

    如果有数据说明你报表显示的时候数据源设置有问题。


    family as water

     

    rows.count =1 而数据库也是有一条数据的。

    数据源?我重新试试。

    2010年3月22日 9:53
  •  return ds.Tables[0]; 看看这个table的rows.count是多少?

    如果有数据说明你报表显示的时候数据源设置有问题。


    family as water

     

    rows.count =1 而数据库也是有一条数据的。

    数据源?我重新试试。


    =1说明sql查询是ok的,估计是报表显示问题。仔细检查一下
    family as water
    • 已标记为答案 Jimcolday 2010年3月25日 6:42
    2010年3月22日 9:55
  • 谢谢。我再重新做个报表试试。
    2010年3月23日 1:42
  • 谢谢。我再重新做个报表试试。
    2010年3月23日 1:42