如何将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转换为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(" "))
dr[grdReport.Columns[j].ToString()] = row.Cells[j].Text;
}
_datatable.Rows.Add(dr);
}
ExportDataTableToPDF(_datatable);
}
此处绑定数据到水晶报告
void ExportDataTableToPDF(Datatable _datatable)
{
}