c# - 是否可以在单击按钮时为 GridView 中的项目生成水晶报表?
问题描述
一个小背景故事:我有一个包含员工列表的 GridView。在 GridView 上方,我有一个搜索文本框和用作 GridView 控件的链接按钮:添加、编辑、删除和生成报告。
现在回到主要问题:是否可以在我的 GridView 中选择一个项目,然后单击生成报告以生成包含该选定项目的所有行的报告?如果是这样,我将如何完成这项任务?有没有更有效的方法来做到这一点?谢谢!
这是我的 GridView 的代码:
<div style="margin-left:5px; margin-bottom:50px">
<div style="margin-bottom:5px; margin-top:5px">
<asp:TextBox ID="txtSearchEquip" runat="server" BorderColor="#666666" style="margin-bottom: 10px; text-align: left;" Width="317px" ForeColor="Black" Height="30px" ></asp:TextBox>
<asp:Button ID="btnSearchEquip" runat="server" Text="Search" Height="30px"/>
<asp:Button ID="btnClearEquip" runat="server" Text="Clear" Height="30px"/>
</div>
<asp:GridView ID="gvPersonnelEquipment" CssClass="EU_DataTable" runat="server" AutoGenerateColumns="False" DataKeyNames="SequipID" DataSourceID="SqlDataSource1" AllowPaging="True" AllowSorting="True" PageSize="6" OnRowDataBound="gvEquipment_RowDataBound" OnRowCommand="gvPersonnelEquipment_RowCommand">
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="SequipID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="SequipID" />
<asp:BoundField DataField="SempID" HeaderText="Employee ID" SortExpression="SempID" />
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
<asp:BoundField DataField="Equipment" HeaderText="Equipment" SortExpression="Equipment" />
<asp:BoundField DataField="MakeModelNo" HeaderText="Model Number" SortExpression="MakeModelNo" />
<asp:BoundField DataField="PropertyTagNo" HeaderText="Property Tag Number" SortExpression="PropertyTagNo" />
<asp:BoundField DataField="SerialNumber" HeaderText="Serial Number" SortExpression="SerialNumber" />
<asp:BoundField DataField="Cost" HeaderText="Cost" SortExpression="Cost" />
<asp:BoundField DataField="EquipmentStatus" HeaderText="Equipment Status" SortExpression="EquipmentStatus" />
<asp:BoundField DataField="Remarks" HeaderText="Remarks" SortExpression="Remarks" />
<asp:BoundField DataField="IssuedBy" HeaderText="Issued By" SortExpression="IssuedBy" />
<asp:BoundField DataField="DateIssued" HeaderText="Date Issued" SortExpression="DateIssued" />
<asp:BoundField DataField="RetDate" HeaderText="Return Date" SortExpression="RetDate" />
<asp:BoundField DataField="ReceivedBy" HeaderText="Received By" SortExpression="ReceivedBy" />
<%--<asp:BoundField DataField="Status" HeaderText="Status" SortExpression="Status" />--%>
</Columns>
<SelectedRowStyle BackColor="#54a1e5" Font-Bold="True" ForeColor="#CCFF99" />
</asp:GridView>
</div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:SecurityDBConnectionString2 %>" SelectCommand="SELECT * FROM [SecurityPersonnelEquipment] WHERE ([Status] = @Status)" FilterExpression="[Name] LIKE '{0}%' OR [Equipment] LIKE '{1}%' OR [EquipmentStatus] LIKE '{2}%' ">
<SelectParameters>
<asp:Parameter DefaultValue="1" Name="Status" Type="Int32" />
</SelectParameters>
<FilterParameters>
<asp:ControlParameter ControlID="txtSearchEquip" Name="Name" PropertyName="Text" Type="String" ConvertEmptyStringToNull="false"/>
<asp:ControlParameter ControlID="txtSearchEquip" Name="Equipment" PropertyName="Text" Type="String" ConvertEmptyStringToNull="false"/>
<asp:ControlParameter ControlID="txtSearchEquip" Name="EquipmentStatus" PropertyName="Text" Type="String" ConvertEmptyStringToNull="false"/>
</FilterParameters>
</asp:SqlDataSource>
<!-- End of Personnel Equipment GridView -->
</div>
解决方案
推荐阅读
- mocha.js - 有没有办法将数字动态添加到摩卡的“it”块中?
- javascript - JQuery隐藏和显示具有相同类的div
- excel - Excel:如果单元格中的值与另一个选项卡上的列中的值匹配,我如何返回空白行上方的特定单元格?
- python - 如何自定义 Enthought Traits Dict 的方法
- python - 遍历列以根据单词列表查找单词的索引
- dymola - 共同模拟 FMU 时出错“fmi2DoStep: Invalid currentCommunicationPoint”
- r - 在 R 软件中生成图形时如何调整误差
- javascript - 将数据从 .NET razor 视图传递到 Svelte
- c++ - 用于动态模板调用的 C++ 宏 (X- 宏)
- process - 我们在 linux 中是否有工具来管理 Stargate (DataStax)?