0

Windows デスクトップ アプリケーション開発は初めてです。

アプリケーションで請求書を印刷したいのですが、レポート ビューアー コントロールを使用して、請求書番号と当事者名を表示する 2 つのラベルを配置しました。

C# のコード ビハインド ファイルでデータセットを作成しています。

データセット セルの値をラベルのテキスト プロパティに割り当てています。私のコードは次のとおりです。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb;


namespace WindowsFormsApplication1
{

public partial class Form1 : Form
{
    OleDbConnection cn;
    OleDbCommand cmd;
    OleDbDataAdapter da;
    DataSet ds;

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\Bill\\dbBill.accdb");
        string query = "select A.BillNo,A.BillType,A.TaxType,A.PartyName,B.Desc,B.Desc,B.HSNCode,B.Qty,B.Rate,(B.Qty*B.Rate) as Amount " +
                       "from BillMaster A inner join BillDetail B on B.BillNo=A.BillNo";
        cn.Open();
        cmd = new OleDbCommand(query, cn);
        da = new OleDbDataAdapter(cmd);
        ds = new DataSet();
        da.Fill(ds);
        cn.Close();
        // TODO: This line of code loads data into the 'dbBillDataSet.BillDetail' table. You can move, or remove it, as needed.
        this.BillDetailTableAdapter.Fill(this.dbBillDataSet.BillDetail);

        this.reportViewer1.RefreshReport();


    }

    private void reportViewer1_Load(object sender, EventArgs e)
    {



        lblBillNo.Text = ds.Tables[0].Rows[0]["BillNo"].ToString();
        lblParty.Text = ds.Tables[0].Rows[0]["PartyName"].ToString();
    }
}
}

レポート ビューアー コントロール内に配置されたコントロールにデータセット値を割り当てる方法。私を助けてください。前もって感謝します。

4

2 に答える 2

1

内のDataSetインスタンスにアクセスすることはできません。を返すを作成し、それをの内部で使用することをお勧めします。dsreportviewr_loadfunction()DataSetfunction()reportviewr_load

于 2013-03-06T10:33:32.977 に答える
0
private DataSet YourData()
{
cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\Bill  \\dbBill.accdb");
string query = "select     
  A.BillNo,A.BillType,A.TaxType,A.PartyName,B.Desc,B.Desc,B.HSNCode,B.Qty,B.Rate,
  (B.Qty*B.Rate) as Amount " +

 "from BillMaster A inner join BillDetail B on B.BillNo=A.BillNo";
 cn.Open();
 cmd = new OleDbCommand(query, cn);
 da = new OleDbDataAdapter(cmd);
 ds = new DataSet();
 da.Fill(ds);
 cn.Close();
 return ds;
} 
于 2013-03-06T11:41:27.323 に答える