2011-01-15 36 views
0

空白の結晶レポートを作成するデータセットからクリスタルレポートへのデータの入力方法は?

次に、次のコードを使用すると、実行後に何も表示されません。

データセットのフィールドに対応するcrytslレポートにフィールドオブジェクトを追加する必要があります。 しかし、私は水晶レポートを通して接続されていないこの状況で追加する方法を知らない。

try 
     { 
      string _connectionString = ConfigurationManager.ConnectionStrings["CarParkConnectionString"].ConnectionString; 

      OleDbConnection connection = null; 
      try 
      { 
       using (connection = new OleDbConnection(_connectionString)) 
       { 
        //OleDbCommand command = connection.CreateCommand(); 
        string selectsql = "SELECT a.Transaction_Date, a.Card_no, a.Company, a.Credit_Fee, a.Non_Credit_Fee FROM [SELECT Transaction_Date, Card_no, Company, Fee as Credit_Fee, 0 as Non_credit_fee FROM CarPark where IsCredit = true union all SELECT Transaction_Date, Card_no, Company, 0 as Credit_Fee, Fee as Non_credit_fee FROM CarPark where IsCredit = false]. AS a where a.Transaction_Date >= " + Calendar1.SelectedDate.ToShortDateString() + " and a.Transaction_Date <= " + Calendar2.SelectedDate.ToShortDateString(); 
        //command.CommandText = selectsql; 
        //SetCommandParametersForInsertUpdateTo(carpark, command, error); 
        connection.Open(); 

        OleDbDataAdapter dataAdapter1 = new OleDbDataAdapter(selectsql, connection); 
        DataSet ds = new DataSet(); 
        dataAdapter1.Fill(ds, "CarPark"); 

        dataAdapter1.Dispose(); 

        CrystalReport1 objRpt = new CrystalReport1(); 
        objRpt.SetDataSource(ds.Tables[0]); 

        DailyReport_CrystalReportViewer.EnableParameterPrompt = false; 
        DailyReport_CrystalReportViewer.ReportSource = objRpt; 
        DailyReport_CrystalReportViewer.RefreshReport(); 
       } 
      } 
      catch (Exception ex) 
      { 
       connection.Close(); 
       Error_Label.Text = Error_Label.Text + " " + ex.Message; 
      } 
      finally 
      { 
       connection.Close(); 
      } 

答えて

3

は、あなたがデータセットを使用してCrystalレポートを作成するために必要なステップです:

まず、このメソッドをPUSHメソッドと呼びます。

の1-プロジェクトをクリックして右にVisual Studioの ゴーを通じてデータセットを作成します - (表1)、それを呼び出して、あなたのデータセット内のテーブルを作成します> DATSETそれを呼び出しDataset1データ

2- - 新しい項目の追加>

3-すべての列 のタイプを指定してテーブルに列を追加するには、レポートであなたがしたい、あなたが2列(int型のIDタイプ)、(文字列の名前タイプ)

4-持って言うことができますそのためのデータソースを選択してください。左側のフィールドエクスプローラで、データベースフィールド、右tは、データベースの専門家でそれをクリックして選択し

5 - あなたは、開いているプロジェクトデータおよびADO.NETデータセットは、データセット(Dataset1データ)を選択して、あなたのテーブル(表1)は

6あなたが見つけることを行うとフィールドエクスプローラのデータベースフィールドには、テーブルと2列のIDと名前が入力されるようになりました。

7糖​​剤およびレポートの詳細セクション内のこれらの二つのフィールドをドロップします。..

を今すぐレポートを通して見ること準備ができていないが、まだあなたはIDのフィールドを移入する必要があるとして、および名前ですデータセット

8サンプル・コードは、データセットここ

Dataset ds=new DataSet(); 
DataTable dt=new DataTable("Table1"); // Be sure to call this table as your Table's name 
             // in the Dataset 
dt.Columns.Add("ID", typeof(System.Integer)); //Same name of your ID column 
dt.Columns.Add("Name", typeof(System.String)); 
Datarow dr=dt.NewRow(); 
dr["ID"]=1; 
dr["Name"]="Test"; 
dt.Rows.Add(dr); 
ds.Tables.Add(dt); 
ReportDocument rpt = new ReportDocument(); 
rpt.Load(Server.MapPath("Your Report's Name")); 
rpt.SetDataSource(ds); 

DailyReport_CrystalReportViewer.ReportSource = rpt; 
DailyReport_CrystalReportViewer.DataBind(); 

それはあなたが必要なすべての手順でデータを取り込むには

希望に役立ちます。

関連する問題