Я создал веб-форму заказов с datagridview, я также создал один отчет с использованием Crystal Report. Я также поместил crystalreportviewer вниз на эту же страницу.
Это список столбцов сетки для веб-формы и просмотра данных:
<asp:GridView ID="GridViewHome" runat="server" AllowPaging="True" AutoGenerateColumns="false" BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" CellPadding="4" OnPageIndexChanging="GridViewHome_PageIndexChanging">
<Columns>
<asp:TemplateField>
<HeaderTemplate>Patient MRN#</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblpatient" runat="server" Text='<%# Eval("Patient No") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Order Number</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblorder" runat="server" Text='<%# Eval("Request number") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Patient Name</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblname" runat="server" Text='<%# Eval("Patient Name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Req. Date</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblreqd" runat="server" Text='<%# Eval("Request Date") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Report Date</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblrepd" runat="server" Text='<%# Eval("Report Date") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Test Name</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LblTest" runat="server" Text='<%# Eval("Test_Name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Result</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="result" runat="server" Text='<%# Eval("Result") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Ref.Range From</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="Reflow" runat="server" Text='<%# Eval("Low Range") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>To</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="refhigh" runat="server" Text='<%# Eval("High Range") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Text Range</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="textrange" runat="server" Text='<%# Eval("Text Range") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>REQ. FORM NO.</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="req" runat="server" Text='<%# Eval("REQ FORM NUMBER") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Dept.Id</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="deptid" runat="server" Text='<%# Eval("DEPT ID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Department</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="deptname" runat="server" Text='<%# Eval("Department") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Options</HeaderTemplate>
<ItemTemplate>
<asp:LinkButton ID="Lnkresult" runat="server" OnClick="Lnkresult_Click">Print Result</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
это изображение сетки:
Я ожидаю, когданажмите кнопку ссылки (Результат печати), чтобы показать отчет внизу таблицы данных в зависимости от параметров OrderNum и deptid.
Я создал кнопку ссылки и использовал следующий код:
protected void Lnkresult_Click(object sender, EventArgs e)
{
GridViewRow iRow = ((GridViewRow)((LinkButton)sender).NamingContainer);
//Assuming you first column is where your "lblOrder" is.
int OrderNum = Convert.ToInt32(((Label)iRow.Cells[1].Controls[1]).Text);
int Deptid = Convert.ToInt32(((Label)iRow.Cells[11].Controls[1]).Text);
ReportDocument myReportDocument;
myReportDocument = new ReportDocument();
myReportDocument.Load(Server.MapPath("~/RPT/RPT_RESULTS.rpt"));
myReportDocument.SetParameterValue("@ORDER_ID", OrderNum);
myReportDocument.SetParameterValue("@deptid", Deptid);
myReportDocument.SetDatabaseLogon("username", "password");
CrystalReportViewer1.ReportSource = myReportDocument;
CrystalReportViewer1.DisplayToolbar = true;
}
, но когда я нажимаюкнопка ссылки не показывает отчет в чем ошибка с моим кодом?