Как я могу связать бизнес-объект C # в Crystal или RDLC отчет? - PullRequest
2 голосов
/ 22 сентября 2011

Прежде всего позвольте мне сказать вам одну вещь: я никогда не работал с какими-либо отчетами.Я прочитал все связанные вопросы и ответы на эту тему.Но не смог найти никакого конкретного решения.

Моя проблема в том, что у меня очень простой отчет, в котором я должен показать строку из представления из базы данных.Чтобы получить эту строку, я создал бизнес-объект (сущность).эта сущность отлично держит мой ряд.Я пробовал Crystal Report и RDLC отчет.Но в конце я выберу только одну.Таким образом, у меня есть отчет кристалла в моем решении.В моей форме aspx я взял просмотрщик отчетов.но я не знаю, как заставить эти три вещи работать вместе, то есть отчет, средство просмотра отчетов и объект или объект, который содержит информацию.

Теперь код идет сюда

имяиз отчета CrystalSaleMoneyReceipt.rpt

моя страница aspx

<form id="form1" runat="server">
<asp:SqlDataSource ID="SqlDataSource1" runat="server"></asp:SqlDataSource>
<div id = "SearchPlace">
    <label for ="">Candidate ID:</label><asp:TextBox runat = "server" ID = "txtCandidateId"></asp:TextBox>
    <label for ="">Form SL#:</label><asp:TextBox runat = "server" ID = "txtFormSl"></asp:TextBox>
    <asp:Button runat = "server" ID = "btnShowReport" Text = "Show Report" 
        onclick="btnShowReport_Click" />
</div>
<div id = "ReportViewrHolder">
    <CR:CrystalReportViewer ID="CrystalReportViewerMRN" runat="server" AutoDataBind="true" />
</div>
</form>

Мой код файла

protected void Page_Load(object sender, EventArgs e)
{
}

protected void btnShowReport_Click(object sender, EventArgs e)
{
    int candidateId = 0;

    string formSl = txtFormSl.Text;
    ViewFormSaleMoneyReceiptEntity formSaleMoneyReceiptEntity = new ViewFormSaleMoneyReceiptEntity();
    if(txtCandidateId.Text != "")
    {
        candidateId = Convert.ToInt32(candidateId);
        formSaleMoneyReceiptEntity = ViewFormSaleMoneyReceipt_DAO.GetMoneyReceiptByID(candidateId);
        //CrystalReportViewerMRN.ReportSource = formSaleMoneyReceiptEntity; 
    }
    if(txtFormSl.Text!="")
    {
        formSaleMoneyReceiptEntity = ViewFormSaleMoneyReceipt_DAO.GetMoneyReceiptByFormSL(formSl);
        //CrystalReportViewerMRN.ReportSource = formSaleMoneyReceiptEntity; 
    }
}

пожалуйста, пожалуйста, дайте мне решениея отчаянно нуждаюсь в решении.Заранее благодарим всех умных техников.

1 Ответ

1 голос
/ 22 сентября 2011

Вы должны создать объект ReportSource и назначить его своему отчету, как описано здесь .

CrystalReportViewerMRN.ReportSource = myReportSource;

...