如何将Gridview中的详细信息传递给报表

本文关键字:报表 详细信息 Gridview | 更新日期: 2023-09-27 18:03:07

我有一个从数据库填充的数据网格视图。在表中有几个列从文本框下拉列表中获取用户输入。我想传递所有这些数据到一个水晶报告,而不插入到数据库打印作为报表中的表。行数可以修改。所以我不能用它来设计桌子。所以我想打印水平线来分隔细节(不需要垂直线)。我该怎么做呢?
这里我添加了我的aspx代码

aspx代码

<asp:GridView ID="GridView1" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White"
                    runat="server" AutoGenerateColumns="False" Style="margin-left: 20px; margin-right: 20px;
                    margin-top: 10px" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating"
                    BorderColor="#999999" BorderStyle="Solid" BorderWidth="2px">
                    <%--OnRowDataBound="OnRowDataBound" OnRowEditing="OnRowEditing--%>
                    <Columns>
                        <asp:BoundField DataField="chdrnum" HeaderText="Client Num" ItemStyle-Width="90">
                            <ItemStyle Width="90px" />
                        </asp:BoundField>
                        <asp:BoundField DataField="CCDATE" HeaderText="Risk Date" ItemStyle-Width="90">
                            <ItemStyle Width="90px" />
                        </asp:BoundField>
                        <asp:BoundField DataField="SUMIN" HeaderText="Sum Assured" ItemStyle-Width="90">
                            <ItemStyle Width="90px" />
                        </asp:BoundField>
                        <asp:BoundField DataField="SINSTAMT06" HeaderText="Premiums" ItemStyle-Width="90">
                            <ItemStyle Width="90px" />
                        </asp:BoundField>
                        <asp:BoundField DataField="PTDATE" HeaderText="Next Due Date" ItemStyle-Width="90">
                            <ItemStyle Width="90px" />
                        </asp:BoundField>
                        <asp:TemplateField HeaderText="Surrender Value">
                            <ItemTemplate>
                                <asp:TextBox ID="txtSVal" runat="server" Style="width: 100px; margin-left: 5px; background-color: Transparent"></asp:TextBox>
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="Loan Outstanding">
                            <ItemTemplate>
                                <asp:TextBox ID="txtLoan" runat="server" Style="width: 110px; margin-left: 5px; background-color: Transparent"></asp:TextBox>
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="Age Admitted">
                            <ItemTemplate>
                                <asp:DropDownList ID="ddlAge" runat="server" Style="width: 80px; margin-left: 5px;
                                    background-color: Transparent">
                                    <asp:ListItem Text="- Select -" Value="- Select -" />
                                    <asp:ListItem Text="Yes" Value="Yes" />
                                    <asp:ListItem Text="No" Value="No" />
                                </asp:DropDownList>
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                    <HeaderStyle BackColor="#3AC0F2" ForeColor="White" />
                    <AlternatingRowStyle BackColor="#3AC0F2" />
                </asp:GridView>

如何将Gridview中的详细信息传递给报表

首先将Gridview转换为Datatable

 protected void btnExportCrstalReport_Click(object sender, EventArgs e)
    {
        DataTable _datatable = new DataTable();
        for (int i = 0; i < grdReport.Columns.Count; i++)
        {
            _datatable.Columns.Add(grdReport.Columns[i].ToString());
        }
        foreach (GridViewRow row in grdReport.Rows)
        {
            DataRow dr = _datatable.NewRow();
            for (int j = 0; j < grdReport.Columns.Count; j++)
            {
                if (!row.Cells[j].Text.Equals("&nbsp;"))
                    dr[grdReport.Columns[j].ToString()] = row.Cells[j].Text;
            }
            _datatable.Rows.Add(dr);
        }
        ExportDataTableToPDF(_datatable);
    }

此处绑定数据到水晶报告

 void ExportDataTableToPDF(Datatable _datatable)
   {
   }