2012-06-18 162 views
0

我有一个表tbl_invoice。我想在此表中显示数据的水晶报告。对于每张发票,我都有invoiceid(主键)和帐单号。每个发票的主键都会更改,但billno保持不变。我得到了最大invoiceid的billno并将它传递给水晶报告。但它只显示了水晶报告中的最后一条记录。如何显示与帐单相符的所有记录? 我写了这个代码水晶报告:如何获取多个参数传递给水晶报告

private void button1_Click(object sender, EventArgs e) 
    { 
     SalesInvoice_Caret crt = new SalesInvoice_Caret(); 
     crt.SetParameterValue("BillNo", txtBillNo.Text); 
     crystalReportViewer1.ReportSource = crt; 
     crystalReportViewer1.Refresh(); 
    } 

    private void crt_sales_invoice_viewer_Load(object sender, EventArgs e) 
    { 
     string getBill = "Select top 1 BillNo from tbl_sales_invoice order by SalesInvoiceId desc"; 
     SqlCommand cmd = new SqlCommand(getBill, con); 
     con.Open(); 
      object obj = cmd.ExecuteScalar(); 
     con.Close(); 

     MessageBox.Show(obj.ToString()); 
     txtBillNo.Text = obj.ToString(); 


    } 

回答

0

我认为你需要通过所有的invoiceid数字,创造了“SalesInvoice_Caret”对象时所需的数据。创建一个查询,为所选账单号带来所有invoiceid号码。并将数据传递给报告。在报告中,您需要使用小组专家为每个invoiceid-billno对创建具体报告。